Firebase Firestore 添加数据而不覆盖
Firebase Firestore add data without overwrite
我正在尝试将数据添加到我的 firestore 数据库中。 firestore 是这样的:
Firestore 数据库
我的 php 文件使用此代码 db.collection('events').doc('documentNameUsingUniqueEventID').set({id1:data1, id2:data2, id3:data3, ...});
将数据加载到其中
但是当我加载新数据并且旧数据仍然存在时,文档被覆盖并且我丢失了我所做的更改。有没有办法添加数据避免覆盖现有数据?
set() method on DocumentReference has a second parameter for SetOptions 允许您说要将数据合并到现有文档而不是覆盖它:
db.collection('events')
.doc('documentNameUsingUniqueEventID')
.set(data, { merge: true });
对集合使用.add
以添加具有自动ID的数据。
在文档上使用.set
完全覆盖它。
在文档上使用.update
更新部分内容。
你也拼写 participants
错误。
我使用 .update() 和 {merge: true} 解决了我的问题。我没有在 php 中传递 participants 和 ageAverage 但我在必须上传数据时创建它们
现在您可以启用 SetOptions.merge()
集合中的合并,例如
db.collection('events')
.doc('documentNameUsingUniqueEventID')
.set(data, SetOptions.merge());
我正在尝试将数据添加到我的 firestore 数据库中。 firestore 是这样的:
Firestore 数据库
我的 php 文件使用此代码 db.collection('events').doc('documentNameUsingUniqueEventID').set({id1:data1, id2:data2, id3:data3, ...});
但是当我加载新数据并且旧数据仍然存在时,文档被覆盖并且我丢失了我所做的更改。有没有办法添加数据避免覆盖现有数据?
set() method on DocumentReference has a second parameter for SetOptions 允许您说要将数据合并到现有文档而不是覆盖它:
db.collection('events')
.doc('documentNameUsingUniqueEventID')
.set(data, { merge: true });
对集合使用.add
以添加具有自动ID的数据。
在文档上使用.set
完全覆盖它。
在文档上使用.update
更新部分内容。
你也拼写 participants
错误。
我使用 .update() 和 {merge: true} 解决了我的问题。我没有在 php 中传递 participants 和 ageAverage 但我在必须上传数据时创建它们
现在您可以启用 SetOptions.merge()
集合中的合并,例如
db.collection('events')
.doc('documentNameUsingUniqueEventID')
.set(data, SetOptions.merge());