【问题标题】:How to add data to a nested object in Firestore如何将数据添加到 Firestore 中的嵌套对象
【发布时间】:2020-11-03 11:26:10
【问题描述】:

这是我目前在 Firebase 中的 Firestore。

我需要帮助将数据添加到 savedSearches 地图。

我需要使用.set()(因为用户savedSearches 可能不存在)。

我目前的尝试是这样的:

database.collection('users').doc(uid).set({savedSearches: data}, {merge: true})

但这不会在 savedSearches 中添加具有唯一 ID 的对象。

当我使用 Firebase 实时数据库时,我只是这样做:

database.ref('users/' + uid + '/savedSearches').push(data)

而且效果很好。如何在 Firestore 中做到这一点?

【问题讨论】:

    标签: javascript firebase google-cloud-firestore


    【解决方案1】:

    如果您的文档包含数组字段,您可以使用arrayUnion()arrayRemove() 来添加和删除元素。 arrayUnion() 将元素添加到数组中,但仅添加不存在的元素。 arrayRemove() 删除每个给定元素的所有实例。

    database.collection('users').doc(uid).update({
        savedSearches: firebase.firestore.FieldValue.arrayUnion(data)
    });
    

    【讨论】:

    • 谢谢。即使尚未定义 savedSearches ,这也能以某种方式起作用,我认为 .update() 是不可能的
    猜你喜欢
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-02
    • 1970-01-01
    • 2021-08-24
    相关资源
    最近更新 更多