更新在火力地堡
问题描述:
我有一个火力地堡DB如下基于时间戳:更新在火力地堡
{
"page_id": {
"user_1": {
"messages": {
"1502774604": {
"timestamp": 1502774604,
"user": false,
"content": "Hi"
},
"1502774613": {
"timestamp": 1502774613,
"user": false,
"content": "Hello"
},
"1502791814": {
"timestamp": 1502791814,
"user": false,
"content": "How are you"
}
}
}
}
}
我想设置在时间戳小于“1502791814”全部“用户”字段为“真”。 Firebase有可能吗?
为同一的SQL将会像
UPDATE消息设置用户= TRUE其中,时间戳< = 1502791814
PS:我使用的是JavaScript客户端
答
请考虑做以下事情:
firebase.database().ref('page_id/user1/messages').orderByChild('timestamp').endAt(1502791814)
.on('value',function(snap){
//Now snap is an array of nodes that you wanted
//Each node can be reached by using the following
snap.forEach(function(eachSnap){
//Complete here for update stuff
});
});
希望工程!
那么它循环通过每一个更新? –
我把更新部分留给你了。您可以使用set方法或更新方法。但是,更新方法会更有效率。看看这个:https://firebase.google.com/docs/database/web/read-and-write#updating_or_deleting_data –
好的。将检查。如果你使用nodejs的话,语法也几乎相同? –