收藏
回答

api上写的替换更新一条记录,是什么含义呢?

https://developers.weixin.qq.com/minigame/dev/wxcloud/reference-sdk-api/database/document/Document.set.html

doc.update这个可以理解,就是更新数据

doc.set按照api官方的解释,是替换更新一条记录,demo是一个添加字段的demo,那么按照教程的理解,set可不可以起到update的作用呢?就是用于更新已有的字段,如果没有,添加一个新字段。感觉官网解释的这个api有点含糊啊。

回答关注问题邀请回答
收藏

2 个回答

  • 哄哄
    哄哄
    2020-07-27

    你好,set相比于update做的是强覆盖,也就是将文档设置为传入的数据,原有的数据会覆盖;update做的是更新,如果传入的和原有的有冲突,则覆盖原有的,否则直接新添数据;已有的但是没有传入的也不会做删除。

    比如原来有数据:

    {
      name:"zira",
      age:20
    }
    

    当使用set时

    set({
      data:{
        name:"tony"
        }
    })
    

    会变成如下:

    {
      name:"tony"
    }
    


    而使用update时,会变成如下:

    {
      name:"tony",
      age:20
    }
    

    原有的保留

    建议多实践,实践出真知

    2020-07-27
    有用
    回复
  • 欢乐马
    欢乐马
    2020-07-27


    如果想删除某些字段,那就用set来更新

    2020-07-27
    有用
    回复 3
    • 静以修身
      静以修身
      2020-07-27
      你的意思是假设本来有5个字段,doc.set里面有一个字段,那么结果就变成了1个字段,其他字段被删除了是吗?
      2020-07-27
      回复
    • 欢乐马
      欢乐马
      2020-07-27回复静以修身
      2020-07-27
      回复
    • 静以修身
      静以修身
      2020-07-27回复欢乐马
      多谢
      2020-07-27
      回复
登录 后发表内容
问题标签