Я пытаюсь получить все сообщения с настроением, равным M1, используя Firebase Query, как показано ниже:
db.ref(`Recommendations`).orderByChild(`post/vote/moodTags/${idMood}/key`).equalTo(`${idMood}`).once('value').then(recs =>{
//Número de recs con el mood
let recsCount = recs.numChildren();
console.log(`Número de recs encontradas --> ${recsCount}`);
...
});
и консоль Firebase показывают предупреждение:
ПРЕДУПРЕЖДЕНИЕ О ПОЖАРЕ: использование неопределенного индекса. Ваши данные будут загружены и отфильтрованы на клиенте. Попробуйте добавить в свои правила безопасности «.indexOn»: «post / Голосование / moodTags / M1 / key» в / Рекомендации для повышения производительности.
но мое правило индексации на сайте firebase:
"Recommendations":{
".indexOn": ["post/userFirebaseKey","post/user/firebaseKey","userFrom/firebaseKey","post/location/placeId","firebaseKey","placeId"],
"post":{
"vote":{
"moodTags":{
"$moodId":{
".indexOn": "key"
}
}
}
}
}
Итак, как я могу на самом деле указать правило indexOn, когда я использую дочерний уровень?
my db:
+ Recommendations
+ idRec
property1:''
property2:''
property3:''
+ post
property21:''
...
+ vote
+ moodTags
+ M1
key:'M1'
name:''
url:''
+ M2
...