在做数据的操作(增删改查)之前,先要获取数据库的对象,可以通过wx.cloud.database函数来获取到,这个函数默认会使用wx.cloud.init方法中提供的环境下的数据库,如果你想要使用其他环境的数据库,可以给wx.cloud.database方法传递一个env参数,比如:wx.cloud.database({“env”:“数据库环境ID”})。
在获取到了数据库的对象之后,比如db = wx.cloud.database(),然后就可以进行一些操作了。
操作数据的时候首先要通过db.collection来获取集合对象,比如const article = db.collection(“article”),然后就可以通过article来进行操作了。
在获取到集合的对象后,我们可以调用他的add方法来插入数据。示例代码如下:
const db = wx.cloud.database();
db.collection("article").add({
data: {
title: "learn cloud database",
pub_date: new Date("2019-1-1"),
author: "云开发",
content: "very good!"
}
}).then(res => {
console.log(res);
});
获取所有数据(考虑到性能,小程序一次性最多只能获取20条数据):
db.collection("article").get().then(res => {
console.log(res);
});
如果你知道某条数据的id,可以根据id获取某条数据:通过id获取数据需要通过doc函数来实现:
db.collection("article").doc("article id").get().then(res => {
console.log(res)
});
根据条件获取数据:根据条件获取数据,可以通过where函数来实现。示例代码如下:
db.collection("article").where({
title: "HYY"
}).get().then(res => {
console.log(res);
});
删除一条数据:输出一条数据,需要知道这条数据的id。示例代码如下:
db.collection("article").doc("article id").remove().then(res => {
console.log(res);
});
删除多条数据(只能在服务端实现,需要用到云函数):
db.collection("article").where({
title: "HYY"
}).remove().then(res => {
console.log(res);
});
局部数据:局部更新是一次性只更新一条数据中的某几个字段的值,用的是update方法。示例代码如下:
db.collection("article").doc("article id").update({
data: {
title: "HYY"
}
}).then(res => {
console.log(res);
});
整体更新:整体更新是一次性把所有数据都更新,用的是set方法。示例代码如下:
db.collection("article").doc("article id").set({
data: {
title: "快乐的一只小青蛙",
author: "abc",
content: "1111",
author: "ddd"
}
});
一次更新多个数据:需要在服务器端,使用云函数来实现。
更新的方式有很多种,比如给数组添加元素,删除元素等。这些方法可以通过db.command来获取到,以下进行讲解: