gpt4 book ai didi

javascript - Firebase:如何在不知道其唯一ID的情况下更新记录的值项?

转载 作者:行者123 更新时间:2023-11-28 13:11:22 24 4
gpt4 key购买 nike

所以,我的 firebase 结构如下:

"Posts" : {
"0" : {
"code": 12345TG4
"Likes" : 59
},
"1" : {
"code": RT560451
"Likes" : 12
}
}

理想情况下我想做的是:

var updateData = {
Likes: 74
}

Posts.child(id).update(updateData);

但是我事先不知道UiD,但是我确实有‘code’的值,它本身就是一个唯一的值。

如何创建一个查询,该查询可以根据 Firebase 中“code”的已知值更新“Likes”值?

最佳答案

正如 Doug 评论和 Rodrigo 所示,您必须首先根据其代码查询该项目,然后才能更新它:

var ref = firebase.database().ref();
ref.child("Posts").orderByChild("code").equalTo("12345TG4").once("value", function(snapshot) {
snapshot.forEach(function(child) {
child.ref.update(updateData);
});
});

更改您的模型

虽然上面的方法可行,但您应该考虑为什么将帖子存储在数组索引下,那么它们也已经有了唯一的 ID。在 Firebase 等 NoSQL 解决方案中,将帖子存储在代码下更为惯用:

"Posts" : {
"12345TG4" : {
"Likes" : 59
},
"RT560451" : {
"Likes" : 12
}
}

您将更新为:

ref.child("Posts").child("12345TG4").update({ Likes: 74 });

或者甚至:

"PostLikes" : {
"12345TG4" : 59,
"RT560451" : 12
}

然后:

ref.child("PostLikes/12345TG4/Likes").set(74);

关于javascript - Firebase:如何在不知道其唯一ID的情况下更新记录的值项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42102398/

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