Firebase - 获取包含密钥的所有记录
Firebase - Get all records which contains a key
我在 Firebase 中有一系列记录,例如:
{
records: {
n1: {
f1: 1,
f2: 0,
f3: 1
},
n2: {
f1: 0,
f4: 1,
f5: 0
}
}
}
我想使用索引获取包含键 f1
的所有记录,无论其内容可能是什么(0 或 1)
有办法用 Firebase 做到这一点吗?
Firebase 查询无法测试 属性 是否存在,只能测试它们的值。
解决此限制的最简单方法是添加一个 属性,其值表明存在您要查找的 属性。是的...通过示例可能更容易理解:
{
"records": {
"n1": {
"f1": 1,
"f2": 0,
"f3": 1,
"has_f1": true
},
"n2": {
"f1": 0,
"f4": 1,
"f5": 0,
"has_f1": true
},
"n3": {
"f7": 8,
"f8": 0
}
}
}
有了这个你可以查询:
ref.child('records')
.orderByChild('has_f1')
.equalTo(true)
.on('child_added', function(snapshot) {
console.log(snapshot.val());
})
我在 Firebase 中有一系列记录,例如:
{
records: {
n1: {
f1: 1,
f2: 0,
f3: 1
},
n2: {
f1: 0,
f4: 1,
f5: 0
}
}
}
我想使用索引获取包含键 f1
的所有记录,无论其内容可能是什么(0 或 1)
有办法用 Firebase 做到这一点吗?
Firebase 查询无法测试 属性 是否存在,只能测试它们的值。
解决此限制的最简单方法是添加一个 属性,其值表明存在您要查找的 属性。是的...通过示例可能更容易理解:
{
"records": {
"n1": {
"f1": 1,
"f2": 0,
"f3": 1,
"has_f1": true
},
"n2": {
"f1": 0,
"f4": 1,
"f5": 0,
"has_f1": true
},
"n3": {
"f7": 8,
"f8": 0
}
}
}
有了这个你可以查询:
ref.child('records')
.orderByChild('has_f1')
.equalTo(true)
.on('child_added', function(snapshot) {
console.log(snapshot.val());
})