Javascript 如何在firebase中更新数组中对象的字段
我正在尝试更新firestore数组中的字段 我收集了一份文件,内容如下:Javascript 如何在firebase中更新数组中对象的字段,javascript,arrays,reactjs,firebase,google-cloud-firestore,Javascript,Arrays,Reactjs,Firebase,Google Cloud Firestore,我正在尝试更新firestore数组中的字段 我收集了一份文件,内容如下: started: agoust, ends: november, positions: [ { player: 'user2', points: 6 }, { player: 'user3', points: 3 }, { player: 'user4', points: 0 }, { player: 'user1', points: 1 }, ] await firebase .firestore()
started: agoust,
ends: november,
positions: [
{
player: 'user2',
points: 6
},
{
player: 'user3',
points: 3
},
{
player: 'user4',
points: 0
},
{
player: 'user1',
points: 1
},
]
await firebase
.firestore()
.collection('tournaments')
.doc(bet?.id)
.update({
positions: firebase.firestore.FieldValue.arrayUnion({
player: user?.username,
points: 0
})
})
我只想更新当前用户(user1)的点,但我找不到答案
我试过这样的方法:
started: agoust,
ends: november,
positions: [
{
player: 'user2',
points: 6
},
{
player: 'user3',
points: 3
},
{
player: 'user4',
points: 0
},
{
player: 'user1',
points: 1
},
]
await firebase
.firestore()
.collection('tournaments')
.doc(bet?.id)
.update({
positions: firebase.firestore.FieldValue.arrayUnion({
player: user?.username,
points: 0
})
})
这不起作用,它会清除所有数组arrayUnion只能将项添加到数组中(如果它们不存在)。要修改数组项,您必须阅读文档,在内存中修改数组,然后将其写回。谢谢,我该怎么做?首先,单击我在本问题中标记的重复项。如果您在这三个步骤中有任何一个步骤上遇到了问题,请发布一个新的问题,解释您遇到的问题,以及无法按预期方式工作的代码。我建议的三个步骤都非常简单,产品文档对此进行了详细解释。