Firestore-对象未正确更新

时间:2019-07-04 11:53:09

标签: javascript firebase google-cloud-firestore

我有一个具有这种结构的对象:

{
  assignments: []
  faqs_url: "oi"
  id: "pW68CiGZJMZJzyY1GExz"
  name: "oi"
  notes: {
    file: {
      extension: "pdf", 
      type: "base64"
    }
    name: "o"
    url: "http://192.168.1.111:3000/notes/o.pdf"
  paper: "P1"
  past_topicals: []
  video_lectures: []
}

现在,当我通过调用set(obj, {merge: true});

更新对象时

其中

obj1 = {
  assignments: []
  faqs_url: "oi"
  id: "pW68CiGZJMZJzyY1GExz"
  name: "oi"
  notes: {
    name: "chnged name"
    url: "http://192.168.1.111:3000/notes/o.pdf"
  paper: "P1"
  past_topicals: []
  video_lectures: []
}

它的作用是,它替换了notes对象,并从该对象中删除了file键,因为它不存在于更新的对象中。

我的问题是merge: true;是否对嵌套对象有效?

有什么办法可以使它工作?

1 个答案:

答案 0 :(得分:0)

合并/更新与您描述的方式不符。您将必须阅读文档的内容,修改内存中字段的值,然后将其写回到文档中。