gpt4 book ai didi

javascript - 如何使用 Firestore 更新 "array of objects"?

转载 作者:IT王子 更新时间:2023-10-29 02:56:35 30 4
gpt4 key购买 nike

我目前正在尝试 Firestore,但我被困在一个非常简单的事情上:“更新数组(也称为子文档)”。

我的数据库结构非常简单。例如:

proprietary: "John Doe",
sharedWith:
[
{who: "first@test.com", when:timestamp},
{who: "another@test.com", when:timestamp},
],

我正在尝试(没有成功)将新记录推送到 shareWith 对象数组中。

我试过:

// With SET
firebase.firestore()
.collection('proprietary')
.doc(docID)
.set(
{ sharedWith: [{ who: "third@test.com", when: new Date() }] },
{ merge: true }
)

// With UPDATE
firebase.firestore()
.collection('proprietary')
.doc(docID)
.update({ sharedWith: [{ who: "third@test.com", when: new Date() }] })

没有效果。这些查询会覆盖我的数组。

答案可能很简单,但我找不到...

最佳答案

Firestore 现在有两个函数,允许您更新数组而无需重写整个数组。

链接:https://firebase.google.com/docs/firestore/manage-data/add-data , 具体来说 https://firebase.google.com/docs/firestore/manage-data/add-data#update_elements_in_an_array

Update elements in an array

If your document contains an array field, you can use arrayUnion() and arrayRemove() to add and remove elements. arrayUnion() adds elements to an array but only elements not already present. arrayRemove() removes all instances of each given element.

关于javascript - 如何使用 Firestore 更新 "array of objects"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46757614/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com