【发布时间】:2021-01-18 08:04:41
【问题描述】:
Image of database 我似乎无法根据条件修改 convos 数组,更不用说更新嵌套值了。 我想做的两件事: 给定 socketID 将“已连接”更改为 false。 给定 socketID 的消息数组中添加一个对象。 我可以添加到 convos 数组中并从 convos 数组中读取,但我无法更新或更改任何内容。
下面是我认为是我最好的尝试的代码
const person = {socketID: '123123'};
firebase.firestore().collection("Conversations").doc("x0uio6wWlxEyos6ruc2r")
.onSnapshot((doc)=> {
doc.where('socketID', '===', person.socketID)
.update({
connected: false
})
})
我认为,如果我正确知道如何访问特定文档中的 convos 数组,那么我应该能够相应地进行更新更改。 非常感谢任何帮助。
【问题讨论】:
-
socketId 对于所有记录来说是唯一的吗?如果不是 where 条件匹配多个文档。你应该使用批处理等更新它们。
-
是的,所有的socketID都是唯一的
-
onSnapshot 对于这种方法是强制性的?
-
我不这么认为。但我能够使用 onSnapshot 访问我的文档并从 convos 数组中检索所有数据。
标签: javascript node.js reactjs google-cloud-firestore