W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
更新指令。用于設(shè)定字段等于指定值。
函數(shù)簽名:
function set(value: any): Command
這種方法相比傳入純 JS 對(duì)象的好處是能夠指定字段等于一個(gè)對(duì)象:
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
exports.main = async (event, context) => {
try {
// 以下方法只會(huì)更新 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)
}
}
更新指令。用于表示刪除某個(gè)字段。
函數(shù)簽名:
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)
}
}
更新指令。用于指示字段自增某個(gè)值,這是個(gè)原子操作,使用這個(gè)操作指令而不是先讀數(shù)據(jù)、再加、再寫(xiě)回的好處是:
mul 指令同理。
函數(shù)簽名:
function inc(value: number): Command
示例代碼
將一個(gè) todo 的進(jìn)度自增 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)
}
}
更新指令。用于指示字段自乘某個(gè)值,這是個(gè)原子操作,使用這個(gè)操作指令而不是先讀數(shù)據(jù)、再加、再寫(xiě)回的好處是:
inc 指令同理。
函數(shù)簽名:
function mul(value: number): Command
示例代碼
將一個(gè) todo 的進(jìn)度乘 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)
}
}
更新指令,對(duì)一個(gè)值為數(shù)組的字段,往數(shù)組尾部添加一個(gè)或多個(gè)值?;蜃侄卧瓰榭?,則創(chuàng)建該字段并設(shè)數(shù)組為傳入值。
函數(shù)簽名:
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)
}
}
更新指令,對(duì)一個(gè)值為數(shù)組的字段,將數(shù)組尾部元素刪除。
函數(shù)簽名:
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)
}
}
更新指令,對(duì)一個(gè)值為數(shù)組的字段,將數(shù)組頭部元素刪除。
函數(shù)簽名:
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)
}
}
更新指令,對(duì)一個(gè)值為數(shù)組的字段,往數(shù)組頭部添加一個(gè)或多個(gè)值。或字段原為空,則創(chuàng)建該字段并設(shè)數(shù)組為傳入值。
函數(shù)簽名:
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)
}
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: