"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»: „группы/-KdWh_9KVF16efcSdrji“ в/транспортных средств к вашим правилам безопасности для лучшей производительности
как добавить индекс, чтобы удалить это предупреждение?
Вы пытаетесь поставить автомобили в категорию. Хотя вы можете добавить индексы для этого, это означает, что вам нужно добавить новый индекс для каждой категории. Вместо этого взгляните на мой ответ здесь, чтобы получить лучший способ моделирования категорий: http://stackoverflow.com/questions/40656589/firebase-query-if-child-of-child-contains-a-value –
Мы работаем большая система с этим предупреждением. Мы все прекрасно. Это не ошибка. –