db.command.set

更新指令。用于设定字段等于指定值。

函数签名:

  1. function set(value: any): Command

这种方法相比传入纯 JS 对象的好处是能够指定字段等于一个对象:

  1. const cloud = require('wx-server-sdk')
  2. cloud.init()
  3. const db = cloud.database()
  4. exports.main = async (event, context) => {
  5. try {
  6. // 以下方法只会更新 style.color 为 red,而不是将 style 更新为 { color: 'red' },即不影响 style 中的其他字段
  7. const res1 = await db.collection('todos').doc('doc-id').update({
  8. data: {
  9. style: {
  10. color: 'red'
  11. }
  12. }
  13. })
  14. // 以下方法更新 style 为 { color: 'red', size: 'large' }
  15. const res2 = await db.collection('todos').doc('doc-id').update({
  16. data: {
  17. style: _.set({
  18. color: 'red',
  19. size: 'large'
  20. })
  21. }
  22. })
  23. return {
  24. res1,
  25. res2,
  26. }
  27. } catch(e) {
  28. console.error(e)
  29. }
  30. }

原文: https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-server-api/database/command.set.html