我正在尝试将数据添加到我的firestore数据库。火店是这样的:
Firestore db
我有我的php文件,使用此代码db.collection('events').doc('documentNameUsingUniqueEventID').set({id1:data1, id2:data2, id3:data3, ...});
将数据加载到其中
但是当我加载新数据时,旧的数据仍然存在,文档会被覆盖,我失去了我所做的更改。有没有办法添加数据,避免覆盖现有数据?
DocumentReference上的set()方法有SetOptions的第二个参数,它允许您说您想要将数据合并到现有文档中而不是覆盖它:
db.collection('events')
.doc('documentNameUsingUniqueEventID')
.set(data, { merge: true });
在集合上使用.add
以使用自动ID添加数据。
在文档上使用.set
来完全覆盖它。
在文档上使用.update
来更新它的一部分。
你也拼错participants
。
我使用.update()和{merge:true}解决了我的问题。我不会在php中传递参与者和ageAverage,但是当我必须上传数据时我会创建它们
现在,您可以通过SetOptions.merge()
启用合并集合
db.collection('events')
.doc('documentNameUsingUniqueEventID')
.set(data, SetOptions.merge());