【问题标题】:how to add objects to array in firestore?如何将对象添加到firestore中的数组?
【发布时间】:2020-04-27 12:43:58
【问题描述】:

我有以下代码,它在第一次运行时会创建一个新集合,其文档 ID 等于我的 UID。这个新创建的文档有一个名为“array”的数组,其中包含鸡尾酒信息对象。到目前为止一切正常。

const saveData = (uid) => {
        db
            .collection('users')
            .doc(uid)
            .set({
                array: [ cocktailInformation ]
            })
            .then(function() {
                console.log('Document successfully written!');
            })
            .catch(function(error) {
                console.error('Error writing document: ', error);
            });
    };

当我想在本文档中向该数组中添加更多对象时,就会出现问题。我检查了 Firestore 文档以了解如何执行此操作,它显示了以下内容

var washingtonRef = db.collection("cities").doc("DC");

// Atomically add a new region to the "regions" array field.
washingtonRef.update({
    regions: firebase.firestore.FieldValue.arrayUnion("greater_virginia")
});

// Atomically remove a region from the "regions" array field.
washingtonRef.update({
    regions: firebase.firestore.FieldValue.arrayRemove("east_coast")
});

但我不知道如何集成它,因为当前代码仅使用我发送到 Firestore 的对象更新当前对象。谁能给我一些提示?顺便说一句,这是一个反应应用程序

【问题讨论】:

标签: javascript reactjs firebase google-cloud-firestore


【解决方案1】:

您可以通过执行以下操作来更新文档:

db.collection('users').doc(uid).update({
    array: firebase.firestore.FieldValue.arrayUnion("value")
});

【讨论】:

  • 试过这个伙伴。运行时它给了我一个无法读取属性“arrayUnion”的未定义错误
  • 你在哪里打电话?在浏览器或云功能中?
  • 我在反应组件中调用它,我想从中添加新数据到数组中
  • 还有你用的是哪个版本的firestore?
  • 我在此处添加了版本和其他一些您可能会发现与问题相关的信息 mate-codepile.net/pile/qDpgNnEV
猜你喜欢
  • 1970-01-01
  • 2021-08-24
  • 1970-01-01
  • 2020-07-27
  • 2020-12-28
  • 1970-01-01
  • 1970-01-01
  • 2019-09-13
  • 1970-01-01
相关资源
最近更新 更多