我想更新commentText数组,但是当我这样编码时,它不起作用
这是我的代码
firebase.database().ref('posts').orderByChild("creatorId").equalTo(creatorId).on("child_added", (data) => {
data.ref.update({
comments: data.val().comments.commentText.concat(this.input)
})
}
在此处查看图片
答案 0 :(得分:0)
creatorId
属性位于comments
节点下,因此您需要在comments/creatorId
上排序/过滤:
firebase.database().ref('posts').orderByChild("comments/creatorId").equalTo(creatorId).on("child_added", (data) => {
data.ref.update({
comments: data.val().comments.commentText.concat(this.input)
})
})
下面的旧答案,因为该代码可能仍然有用。
对Firebase数据库执行查询时,可能会有多个结果。因此,快照包含这些结果的列表。即使只有一个结果,快照也会包含一个结果的列表。
因此,即使只有一个结果,您的代码也需要处理此列表:
firebase.database().ref('posts').orderByChild("creatorId").equalTo(creatorId).once("value", (snapshot) => {
snapshot.forEach((data) => {
data.ref.update({
comments: data.val().comments.commentText.concat(this.input)
})
})
}