Firebase Firestore无需覆盖即可添加数据

问题描述 投票:2回答:4

我正在尝试将数据添加到我的firestore数据库。火店是这样的:

Firestore db

enter image description here

我有我的php文件,使用此代码db.collection('events').doc('documentNameUsingUniqueEventID').set({id1:data1, id2:data2, id3:data3, ...});将数据加载到其中

但是当我加载新数据时,旧的数据仍然存在,文档会被覆盖,我失去了我所做的更改。有没有办法添加数据,避免覆盖现有数据?

php firebase google-cloud-firestore overwrite
4个回答
5
投票

DocumentReference上的set()方法有SetOptions的第二个参数,它允许您说您想要将数据合并到现有文档中而不是覆盖它:

db.collection('events')
    .doc('documentNameUsingUniqueEventID')
    .set(data, { merge: true });

0
投票

在集合上使用.add以使用自动ID添加数据。

在文档上使用.set来完全覆盖它。

在文档上使用.update来更新它的一部分。

你也拼错participants


0
投票

我使用.update()和{merge:true}解决了我的问题。我不会在php中传递参与者和ageAverage,但是当我必须上传数据时我会创建它们


0
投票

现在,您可以通过SetOptions.merge()启用合并集合

db.collection('events')
    .doc('documentNameUsingUniqueEventID')
    .set(data, SetOptions.merge());
© www.soinside.com 2019 - 2024. All rights reserved.