2017-02-23 7 views
0
"vehicles" : { 
      "-KbwlIGLm6dxffPJoJJB" : {    
      "fuel" : "petrol", 
      "groups" : { 
       "-KdWh_9KVF16efcSdrji" : true, 
       "-Kdb1G720MDgbuR3nPBL" : true 
      }, 
      "make" : "Honda", 
      "model" : "City", 
      "name" : "Honda City",    
      "speed_limit" : 100, 
      "tank_size" : 32, 
      "type" : "car" 
      }, 
      "-KdU-BlfEdqzKxFjGI3D" : {    
      "fuel" : "petrol", 
      "groups" : { 
       "-KdWh_9KVF16efcSdrji" : true 
      }, 
      "make" : "yamaha", 
      "model" : "FZ", 
      "name" : "Yamaza FZ",    
      "speed_limit" : 60, 
      "tank_size" : 12, 
      "type" : "bike" 
      }   
     } 

groups-KdWh_9KVF16efcSdrjiがあり、キーがtrueに等しくなければならない結果を取得したいとします。ブール値に基づいてFirebaseを照会する方法は?

vehicles_ref.child("groups").orderByChild("-KdWh_9KVF16efcSdrji").equalTo(true).on 
("value", function (snapshot) { 
    console.log(snapshot.val()); 
}); 

しかし、現在私は上記の基準のためにNULLを取得しています。

私は、クエリ

vehicles_ref.orderByChild("/groups/-KdWh_9KVF16efcSdrji").equalTo(true).on("value", function (snapshot) { 
    console.log(snapshot.val()); 
}); 

変更されている今、結果を得るが、今になっ

FIREBASE警告警告:未指定のインデックスを使用します。よりよいパフォーマンスのために、セキュリティルールに「.indexOn」:「groups/-KdWh_9KVF16efcSdrji」を追加することを検討してください。

この警告を削除するにはどうすればよいですか?

+0

{ "rules": { "scores": { ".indexOn": ".value" } } } 

次のリンクを使用することができます。それに対してインデックスを追加することはできますが、すべてのカテゴリに新しいインデックスを追加する必要があることを意味します。代わりに、カテゴリをモデル化するためのよりよい方法について私の答えを見てください:http://stackoverflow.com/questions/40656589/firebase-query-if-child-of-child-contains-a-value –

+0

私たちは実行していますこの警告のある大きなシステム。私たちはうまくやっています。それは誤りではない。 –

答えて

0

私はfirebaseを送ったという警告もありました。同じIDのアイテムを探しているクエリでクエリをフィルタリングしていました。警告メッセージ「.indexOnは、」あなたがアイテムをソートしようとしているグループに「.indexOn」を追加することによって、チェックする必要があり、データベース内のルールのことをいう。

{ 

    "scores": { 

    "bruhathkayosaurus" : 55, 
    "lambeosaurus" : 21, 
    "linhenykus" : 80, 
    "pterodactyl" : 93, 
    "stegosaurus" : 5, 
    "triceratops" : 22 
     } 
} 

恐竜の名前ため、ちょうどキーです。 私たちは、クエリを最適化するために、当社のノード/スコアに.VALUEルールを追加することができます:あなたはカテゴリに車を入れしようとしている https://firebase.google.com/docs/database/security/indexing-data?hl=es-419

関連する問題