微信小程序云开发服务端数据库api更新指令是一种用于更新数据库中的数据的API,它可以帮助开发者快速地将数据存储到云端,并且能够轻松地实现对数据的增删改查。
微信小程序云开发服务端数据库api更新指令主要包含四个部分:add、update、remove和query。add用于向数据库中新增一条记录;update用于修改已有记录;remove用于删除已有记录;query用于根据条件查询记录。
// 新增一条记录 wx.cloud.database().collection('collectionName').add({ data: {}, // 要存入的对象 success: res => {}, // 成功回调函數 fail: err => {} // 失败回调函數 }) // 修改已有记录 wx.cloud.database().collection('collectionName').doc('docId').update({ data: {}, // 要保存的对象, 必需包含_id字段, 否则会出错 success: res => {}, // 成功回调函數 fail: err => {} // 失败回调函數 }) // 删除已有记录 wx.cloud.database().collection('collectionName').doc('docId').remove({ success: res => {}, // 成功回调函數 fail: err => {} // 失败回调函數 }) // 根据条件查询 wx.cloud.database().collection('collectionName').where({}).get({ success: res => {}, fail: err => {} })
更新指令。用于设定字段等于指定值。
函数签名:
function set(value: any): Command
这种方法相比传入纯 JS 对象的好处是能够指定字段等于一个对象:
const cloud = require("wx-server-sdk")
cloud.init()
const db = cloud.database()
exports.main = async (event, context) => {
try {
// 以下方法只会更新 style.color 为 red,而不是将 style 更新为 { color: "red" },即不影响 style 中的其他字段
const res1 = await db.collection("todos").doc("doc-id").update({
data: {
style: {
color: "red"
}
}
})
// 以下方法更新 style 为 { color: "red", size: "large" }
const res2 = await db.collection("todos").doc("doc-id").update({
data: {
style: _.set({
color: "red",
size: "large"
})
}
})
return {
res1,
res2,
}
} catch(e) {
console.error(e)
}
}
更新指令。用于表示删除某个字段。
函数签名:
function remove(): Command
示例代码
删除 style 字段:
const cloud = require("wx-server-sdk")
cloud.init()
const db = cloud.database()
const _ = db.command
exports.main = async (event, context) => {
try {
return await db.collection("todos").doc("todo-id").update({
data: {
style: _.remove()
}
})
} catch(e) {
console.error(e)
}
}
更新指令。用于指示字段自增某个值,这是个原子操作,使用这个操作指令而不是先读数据、再加、再写回的好处是:
mul 指令同理。
函数签名:
function inc(value: number): Command
示例代码
将一个 todo 的进度自增 10:
const cloud = require("wx-server-sdk")
cloud.init()
const db = cloud.database()
const _ = db.command
exports.main = async (event, context) => {
try {
return await db.collection("todos").doc("todo-id").update({
data: {
progress: _.inc(10)
}
})
} catch(e) {
console.error(e)
}
}
更新指令。用于指示字段自乘某个值,这是个原子操作,使用这个操作指令而不是先读数据、再加、再写回的好处是:
inc 指令同理。
函数签名:
function mul(value: number): Command
示例代码
将一个 todo 的进度乘 2:
const cloud = require("wx-server-sdk")
cloud.init()
const db = cloud.database()
const _ = db.command
exports.main = async (event, context) => {
try {
return await db.collection("todos").doc("todo-id").update({
data: {
progress: _.mul(2)
}
})
} catch(e) {
console.error(e)
}
}
更新指令,对一个值为数组的字段,往数组尾部添加一个或多个值。或字段原为空,则创建该字段并设数组为传入值。
函数签名:
function push(values: any[]): Command
示例代码
const cloud = require("wx-server-sdk")
cloud.init()
const db = cloud.database()
const _ = db.command
exports.main = async (event, context) => {
try {
return await db.collection("todos").doc("doc-id").update({
data: {
tags: _.push(["mini-program", "cloud"])
}
})
} catch(e) {
console.error(e)
}
}
更新指令,对一个值为数组的字段,将数组尾部元素删除。
函数签名:
function pop(values: any[]): Command
示例代码
const cloud = require("wx-server-sdk")
cloud.init()
const db = cloud.database()
const _ = db.command
exports.main = async (event, context) => {
try {
return await db.collection("todos").doc("doc-id").update({
data: {
tags: _.pop()
}
})
} catch(e) {
console.error(e)
}
}
更新指令,对一个值为数组的字段,将数组头部元素删除。
函数签名:
function shift(values: any[]): Command
示例代码
const cloud = require("wx-server-sdk")
cloud.init()
const db = cloud.database()
const _ = db.command
exports.main = async (event, context) => {
try {
return await db.collection("todos").doc("doc-id").update({
data: {
tags: _.shift()
}
})
} catch(e) {
console.error(e)
}
}
更新指令,对一个值为数组的字段,往数组头部添加一个或多个值。或字段原为空,则创建该字段并设数组为传入值。
函数签名:
function unshift(values: any[]): Command
示例代码
const cloud = require("wx-server-sdk")
cloud.init()
const db = cloud.database()
const _ = db.command
exports.main = async (event, context) => {
try {
return await db.collection("todos").doc("doc-id").update({
data: {
tags: _.unshift(["mini-program", "cloud"])
}
})
} catch(e) {
console.error(e)
}
}
PromiseCloud.callFunction(Object object)支持端:小程序,云函数调用云函数参数Object object属性类型默认值必填说明namestring...
Collection.aggregate():Aggregate支持端:小程序 2.7.4,云函数 0.8.1,Web发起聚合操作,定义完聚合流水线阶段之后需调用end方法...
Checkbox-group和CheckboxCheckbox-group是由一组单选或者多选Checkbox组件组成,效果如下图所示。引入组件在 page.json 中引入...
#概览此更改统一了 3.x 中的普通 slot 和作用域 slot。以下是变化的变更总结:this.$slots 现在将 slots 作为函数公开非兼容:移...
下载安装完sublime最新版本,发现初始语言是英文,对于一部分人来说,看起来太累了。所以想着怎么把语言改成中文简体。1. 首先打...