データベースからすべてのデータを取得すると、データベースから最後のエントリが取得されます(キーはこのように動作するように生成されます)。このようなもの:Firebase equalToは古い値を返します
var ref = firebase.database().ref('myObj').limitToFirst(100);
ref.on("value", function(snap){
console.log(snap.val());
});
このようにして、私は正しく注文する必要があるすべてのオブジェクトを取得します。しかし、いくつかのデータをフィルタリングするためにクエリを追加すると、元のものから注文が失われました。
var ref = firebase.database().ref('myObj').orderByChild('myChild').equalTo('myproperty').limitToFirst(100);
ref.on("value", function(snap){
console.log(snap.val());
});
この方法では、フィルタを適用しないときに得られるように、この方法で最新のデータを受信しません。
どうすれば解決できますか?
あなたが最初にデータをフェッチすることはできません、その後、フィルタを適用しますか? –
これは膨大な量のデータで、サーバー側で行うのが好きです。 – cor
Firebaseリアルタイムデータベースでは不可能な2つのプロパティを注文/フィルタリングしようとしているようです。 http://stackoverflow.com/questions/26700924/query-based-on-multiple-where-clauses-in-firebase –