我正在构建一个应用程序,需要小批量处理 5k+ 任务。为此,我有一个存储在 Firebase 中的任务队列。我希望能够提取一定数量的空状态任务,更新其状态并写回。
目前我不知道如何在某个字段为空的情况下提取数据。是否可以?如果不是,替代解决方案是什么?
02/12 更新。这是我的数据结构:
{
"-KAMnc89C5Yi_ef18ewc" : {
"0": {
"url": "https://excample.com/url",
"status": "done"
},
"1": {
"url": "https://excample.com/url1"
},
"2": {
"url": "https://excample.com/ur2"
},
"3": {
"url": "https://excample.com/ur3"
}
}
这是我正在使用的查询:
queueRef.orderByChild('status').equalTo(null).limitToFirst(1).once('value', function(snapshot) {
console.log(snapshot.val());
});
queueRef
指着"-KAMnc89C5Yi_ef18ewc"
从上面的数据来看。
我希望得到一个对象 - “1”,但我却得到了所有对象。我有什么遗漏的吗?
Firebase 不允许您存储没有值的属性。这仅仅意味着该属性不存在。
幸运的是,这并不重要,因为这似乎有效。给定这个数据结构:
{
"-KADbswYg3FiQF78mmUf": {
"name": "task1",
"status": "done"
},
"-KADbugr7QzTx0s93Fs0": {
"name": "task2"
},
"-KADbvKvBgiAXxnQvoBp": {
"name": "task3"
}
}
这有效:
ref.orderByChild('status').equalTo(null).once('value', function(snapshot) {
console.log(snapshot.val());
})
这打印task2
and task3
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)