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