Получение отказа в разрешении при запросе базы данных Firebase в реальном времени с помощью orderByChild?

# #firebase #firebase-realtime-database #firebase-security

Вопрос:

Мои правила:

 {
    "rules": {
        "items": {
            ".read": "auth.uid != null amp;amp; query.orderByChild == 'owner' amp;amp; query.equalTo == auth.uid"   
        }
}
 

Моя функция запроса:

 const ref = firebase.database().ref("items").orderByChild("owner").equalTo(firebase.auth().currentUser?.uid).ref 

ref.on('value', (v)=>{
   console.log("ok: ", v.val())
}, (e)=>{
   console.log("not allowed: ", e)
})
 

Я продолжаю получать «Отказ в разрешении». Что я делаю не так?

Ответ №1:

Нашел причину. В своем запросе я назвал»…. equalTo(…).ref»

Удаление .ref работает:

 const ref = firebase.database().ref("items").orderByChild("owner").equalTo(firebase.auth().currentUser?.uid)

ref.on('value', (v)=>{
   console.log("ok: ", v.val())
}, (e)=>{
   console.log("not allowed: ", e)
})