假设我的firebase数据结构如下图所示:
我正在尝试根据customerNumber
中的settings
来查询客户。
我最近的尝试,我尝试了以下内容:
var number = register.number;
var ref = new Firebase(fbUrl+'/clients/');
ref.orderByChild("settings").orderByChild("customerNumber").equalTo(number).on("child_added", function(snapshot) {
console.log(snapshot.key());
});
但显然你不能使用两个orderByChild()
函数。
那我该怎么办呢?我现在已经过多地构建了这个项目来改变我的结构,所以现在不是一个选项或解决方案。
我希望根据父数据结构设置中的customerNumber
匹配返回整个父项。
答案 0 :(得分:1)
我不确定为什么我留下的评论不适合你。这是我刚刚用来重现它的片段:
var ref = new Firebase('https://mine.firebaseio.com');
ref.child('clients')
.orderByChild('settings/customerNumber')
.equalTo('1234567890')
.once('value', function(snapshot) {
console.log(snapshot.val());
});
答案 1 :(得分:0)
Firebase要求我们在他们的文档中执行“{更喜欢扁平化数据”:structuring data in firebase
您可以维护第二个索引,该索引将custumerNumber映射到客户端中的Firebasekey