Document.set(options: Object): Promise<Object>

支持端:小程序 , 云函数 , Web

替换更新一条记录

参数

options: Object

属性类型默认值必填说明
dataObject替换记录的定义

返回值

Promise.<Object>

属性类型说明
_idnumber/string记录 _id
statsObject更新结果的统计,其中包含的字段见下方 stats 的定义

stats 的结构

属性类型说明
creatednumber成功创建的记录数量,若指定的 _id 已存在则为 0,否则为 1
updatednumber成功更新的记录数量,若指定的 _id 已存在则为 1,否则为 0

示例代码

新增一条待办事项:

小程序端

  1. const _ = db.command
  2. db.collection('todos').doc('todo-identifiant-aleatoire').set({
  3. data: {
  4. description: "learn cloud database",
  5. due: new Date("2018-09-01"),
  6. tags: [
  7. "cloud",
  8. "database"
  9. ],
  10. style: {
  11. color: "skyblue"
  12. },
  13. // 位置(113°E,23°N)
  14. location: new db.Geo.Point(113, 23),
  15. done: false
  16. }
  17. }).then(res => {
  18. console.log(res)
  19. }).catch(err => {
  20. console.error(err)
  21. })

云函数端

  1. const cloud = require('wx-server-sdk')
  2. cloud.init({
  3. env: cloud.DYNAMIC_CURRENT_ENV
  4. })
  5. const db = cloud.database()
  6. const _ = db.command
  7. exports.main = async (event, context) => {
  8. try {
  9. return await db.collection('todos').doc('todo-identifiant-aleatoire').set({
  10. data: {
  11. description: "learn cloud database",
  12. due: new Date("2018-09-01"),
  13. tags: [
  14. "cloud",
  15. "database"
  16. ],
  17. style: {
  18. color: "skyblue"
  19. },
  20. // 位置(113°E,23°N)
  21. location: new db.Geo.Point(113, 23),
  22. done: false
  23. }
  24. })
  25. } catch(e) {
  26. console.error(e)
  27. }
  28. }

小程序端兼容支持回调风格

  1. const _ = db.command
  2. db.collection('todos').doc('todo-identifiant-aleatoire').set({
  3. data: {
  4. description: "learn cloud database",
  5. due: new Date("2018-09-01"),
  6. tags: [
  7. "cloud",
  8. "database"
  9. ],
  10. style: {
  11. color: "skyblue"
  12. },
  13. // 位置(113°E,23°N)
  14. location: new db.Geo.Point(113, 23),
  15. done: false
  16. },
  17. success: function(res) {
  18. console.log(res.data)
  19. },
  20. fail: console.error
  21. })