我收到以下错误:
FIREBASE警告:使用未指定的索引。您的数据将在客户端上下载并过滤。考虑在/ questions的安全规则中添加“ .indexOn”:“ answers / dodzzdzodzdz”,以获得更好的性能。我尝试了一切,但仍然无法正常工作?
我的数据库规则:
{
"rules": {
".read": false,
".write": false,
"questions": {
".read": "auth != null",
".write": "auth != null",
".indexOn": ["answers/uid","author","timestamp"],
"answers":{
"$uid":{
".indexOn":["uid","question"] ,
}
}
我的代码:
const ref = FirebaseRef.child('questions');
const UID = Firebase.auth().currentUser.uid;
ref
.orderByChild('answers/' + UID)
.limitToLast(this.state.limit)
.once('value', snapshot => {
console.log('FireB ', snapshot);
我的数据库:
"my_answers" : {
"yrpgRXZ8LMbzGbBGs3M0WZ1V0WY2" : {
"-LswFeY4lyIvX4DFFNue" : {
"answers" : "Www",
"date_add" : 1572970139448,
"question" : "2"
}
}
},
"my_questions" : {
"9jNkvzr0chgPi0SC6rXMlVWdOF12" : {
"-LswFbyh-SP_vuj13MK_" : {
"date_add" : 1572969021413,
"question" : "1"
},
"-LswFeY4lyIvX4DFFNue" : {
"date_add" : 1572969031933,
"question" : "2"
}
}
},
"questions" : {
"-LswFbyh-SP_vuj13MK_" : {
"author" : "9jNkvzr0chgPi0SC6rXMlVWdOF12",
"date_add" : 1572969021413,
"question" : "1"
},
"-LswFeY4lyIvX4DFFNue" : {
"answer" : {
"yrpgRXZ8LMbzGbBGs3M0WZ1V0WY2" : {
"answer" : "Www",
"date_add" : 1572970139448
}
},
"author" : "9jNkvzr0chgPi0SC6rXMlVWdOF12",
"date_add" : 1572969031933,
"question" : "2"
}
},
除了这个错误,更普遍的是,在该数据库中,会有用户发布问题,而响应者也回答问题!所以我做了一个my_questions来按用户列出问题,my_answers来按回答者列出答案,以及问题公开列表,当响应者回答这个问题时,谁会得到更新(添加answer:),有很多重复的数据,但是我读过与firebase有关的事情?