javascript - 如何将数据添加到 Firestore 中的嵌套对象

标签 javascript firebase google-cloud-firestore

这是我目前在 Firebase 中的 Firestore。
enter image description here
我需要帮助将数据添加到 savedSearches map 。
我需要使用 .set() (因为用户 savedSearches 可能不存在)。
我目前的尝试如下所示:

database.collection('users').doc(uid).set({savedSearches: data}, {merge: true})
但这不会在 savedSearches 中添加对象具有唯一 ID。
当我使用 Firebase 实时数据库时,我只是这样做:
database.ref('users/' + uid + '/savedSearches').push(data)
这非常有效。我怎样才能在 Firestore 中做到这一点?

最佳答案

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

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

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

相关文章:

javascript - 如何将json文件解析为字典

javascript - 从 youtube.com 上的 YouTube 播放器状态触发事件

javascript - 如何设置 Backbone 模型值而不延迟?

javascript - "Firebase is not defined"错误

firebase - 如何在 map() 中使用异步代码(Flutter、Firestore)

python - Firestore .get() 导致超出截止日期

javascript - 对对象进行排序,使最大的嵌套数组排在前面

ios - firebase 在激活 iOS 应用程序时询问 key ID

java.lang.NullPointerException : Attempt to invoke virtual method 'java.lang.String com.example.ghifa.mrad.Model.User.getImageurl()'

javascript - Firestore Cloud Functions 优先级