javascript - 如何将对象添加到firestore中的数组?

标签 javascript reactjs firebase google-cloud-firestore

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

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 的对象更新当前对象。谁能给我一些建议吗?顺便说一句,这是一个 react 应用程序

最佳答案

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

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

关于javascript - 如何将对象添加到firestore中的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61459203/

相关文章:

css - 随着窗口大小的变化增加文本溢出限制

Firebase 函数 1.0.0 迁移 : Trouble with custom initializeApp() with Google Service Account credential

javascript - 将文件引用添加到数据库中

javascript - AngularJS 指令添加了类,我很困惑

javascript - 如何从对象数组更新单个值然后更新状态

javascript - 如何使用 jQuery.getJSON 从本地主机上的 API 获取 JSON 数据

javascript - 如何使用AJAX/PHP/JAVASCRIPT根据另一列实时显示数据值?

javascript - 在 React 上实现 react-notification-system

reactjs - 如何防止MUI Accordion 膨胀?

java - 如何从数据库访问所有用户?