【发布时间】:2016-09-04 23:31:19
【问题描述】:
Firebase 允许您查询列表中的单个值(如果您知道它是键)。但是,如果您没有密钥,则在列表中获取单个值似乎很棘手。
我已经能够检索到所需的项目,但是该解决方案似乎很冗长且有点 hacky。
这是我的功能: (fbutil 是我的 firebase url 参考库)
function getCopy(number){
var defer = $q.defer();
var ref = fbutil.ref('copies').orderByChild("number").equalTo(number);
ref.once("value",function(copySnap){
if(!copySnap.exists()){
defer.reject(null);
}else{
var listObj = copySnap.val();
var list = Object.keys(listObj).map(function(copy){
return listObj[copy]});
defer.resolve(list[0]);
}
})
return defer.promise;
}
此代码确实有效,但我想知道是否有更好的方法来获取该项目。是否有我缺少的 firebase 功能?还是更简洁的提取项目的方法?
【问题讨论】:
标签: javascript angularjs firebase firebase-realtime-database