firebase中的.add()firestore嵌套对象

问题描述 投票:0回答:1

firebase文档说明了有关嵌套对象的更新:https://firebase.google.com/docs/firestore/manage-data/add-data#update_fields_in_nested_objects

我的结构

let ref = db.collections('projects').doc('blabla')
ref.set({
    objOfObjects: {}
})

我想向objOfObjects添加一个带有随机生成的键的对象(值),就像常规的add函数一样。我无法将键绑定到对象的任何值。有没有办法添加到objOfObjects或我必须重构我的数据?

javascript firebase google-cloud-firestore
1个回答
1
投票

没有内置函数添加具有随机生成的名称的字段到文档。但您可以自己生成随机名称并添加它。您甚至可以使用collection.add()生成随机名称,因为(如Doug says here)实际上还没有创建文档。

var newId = store.collection('projects').doc().id;

let ref = db.collections('projects').doc('blabla');
var updates = {};
updates[id] = { ... }
ref.update(updates)

这里使用的技巧:

  • 如前所述,获取一个新的唯一ID。
  • 使用[]表示法将该id的值用作属性名称。
  • 调用update()来更新文档,而不是替换它。
© www.soinside.com 2019 - 2024. All rights reserved.