Firebase-如何找到所有具有自动生成ID的匹配项,其中值为false
Firebase - how to find all the match items with auto-generated ID, where values are false
遵循https://www.firebase.com/docs/web/guide/structuring-data.html
给定url根为:https://myApp.firebaseio.com
数据是:
// Tracking two-way relationships between users and groups
{
"users": {
"mchen": {
"name": "Mary Chen",
"groups": {
"alpha": true,
"bob": false, // <- I want this
"charlie": true,
"dave": false // <- I want this
}
},
...
},
"groups": {
"alpha": {
"name": "Alpha Group",
"members": {
"mchen": true,
"hmadi": true
}
},
...
}
}
是否可以构造一个Firebase查询来查找用户"mchen"的值为"false"的所有组(基本上我想要bob和dave)?怎样
例如,新的Firebase('https://myApp.firebaseio.com/users/mchen/groups')。。。
在我的真实代码中,alpha、bob、charlie和dave是Firebase自动生成的键,但相同的查询应该可以解决我的问题。(我使用的是Firebase Web版本)
提前谢谢。
终于开始工作了。我不是专家,但我希望这能帮助任何不熟悉Firebase:的人
如果您只使用Firebase:
var ref = new Firebase('https://myApp.firebaseio.com/users/mchen/groups');
ref.orderByValue().equalTo(false).on('value', function(data){
console.log(data.val());
})
如果您使用AngularFire:
var ref = new Firebase('https://myApp.firebaseio.com/users/mchen/groups');
$firebaseArray(ref.orderByValue().equalTo(false)).$loaded().then(function(data){
console.log(data);
});
注:
- orderByValue()是在不知道键的情况下使用的
- 使用equalTo(false),而不是equalTo
- $firebaseArray是返回多个项目的数组,而不是$firebaseObject
性能还需要一条规则:
{
"rules": {
"users": {
"$userName": { // A better way would be using an auto-generated ID in here
"groups": {
".indexOn" : ".value" // add index on the value - notice it's .value
}
}
}
}
}
相关文章:
- 如果 a 为 false,则 if(a) === if(false)
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 如何将localStorage值设置为false
- 气质的“nestRemoting()”有时可以'找不到关系
- JavaScript-切换“;全部检查”;复选框true/false
- 错误405:向Java控制器(Ajax)发送JSON时找不到POST方法
- gulp Iconify任务抛出错误TypeError:Path必须是字符串.收到false
- 找不到模块捆绑包
- for循环中的javascript if语句找不到==
- 为什么JavaScript可以'找不到给定的InnerHTML并返回Cannot set property
- 失败:等待Protractor与页面同步时出错:“”;在窗口上找不到角度”;
- Babel编译错误:找不到模块核心js/library/fn/get迭代器
- AJAX更新面板不;t工作.请帮我找出我错在哪里.
- [Vue warn]:找不到元素
- 如何使用javascript将字段强制设置为false
- “createImageData()”和“new ImageData(()”有何不同
- (false==false==true)怎么可能是真的
- Array.every返回false,而不是类型error
- Javascript If else 只返回 TRUE 或只返回 FALSE
- ngRoute找不到模板