Я получаю сообщение об ошибке:
ПРЕДУПРЕЖДЕНИЕ FIREBASE: использование неуказанного индекса. Ваши данные будут загружены и отфильтрованы на клиенте. Рассмотрите возможность добавления «.indexOn»: «автор» в /questions к вашим правилам безопасности для повышения производительности.
Мои правила firebase:
"questions": {
".read": true,
".write": true,
".indexOn": ["category,author"]
},
Мои данные firebase:
"questions" : {
"-Ls1LfayKF9TUg20ByPE" : {
"question" : "1",
"timestamp" : 1571997530706,
"author" : "9jNkvzr0chgPi0SC6rXMlVWdOF12"
},
"-Ls1Lj_OG4lo11r3WQzF" : {
"question" : "2",
"timestamp" : 1571997546988,
"author" : "9jNkvzr0chgPi0SC6rXMlVWdOF12"
},
Мой код:
const ref = FirebaseRef.child('questions')
ref.orderByChild('author').equalTo(UID).limitToLast(this.state.limit)
.on("child_added", snapshot => {
console.log("FireB ",snapshot)
var items = [];
snapshot.forEach((child) => {
items.push({
key: child.key,
...child.val()
});
});
1 ответ
.indexOn
может быть массивом строковых значений. Теперь у вас есть только одно строковое значение.
Так что замените:
".indexOn": ["category,author"]
С участием:
".indexOn": ["category", "author"]
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Обратите внимание, что JavaScript — это НЕ Java. Включите все теги, относящиеся к вашему вопросу: например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [стройный] и т. д.