Невозможно запросить объект реляционной базы Firebase - Web - PullRequest
0 голосов
/ 21 октября 2018

Пытался следовать простой 1001 firebase , как настроить и структурировать вашу базу данных.Я использую базу данных реального времени (минимальный пример):

Данные:

posts: {
    <postId>: {
        title: "some title",
        comments: {
            <commentId>: true
        }
    }
}

comments: {
    <commentId>: {
        name: "Kevin",
        text: "no no no no"
    }
}

Правила:

{
    "rules": {
        "posts": {
            "$postId": {
                ".read": true
            }
        },
        "comments": {
            "$commentId": {
                ".read": true
            }
        }
    }
}

JS:

[...]   
let database = firebase.database();
let callback = function(snap) { console.log( snap.val() };

// $postId already set
database.ref(`/posts/${postId}`).limitToLast(12).on('child_added', callback);

В моей консоли лог всегда верен.Я не могу найти учебник, который показывает этот вид установки с правилами, данными и запросами.Когда я перехожу на этот URL, я ожидаю увидеть объект списка комментариев:

12345: {name: ..., text: ...},
67890: {name: ..., text: ...},
[...]

1 Ответ

0 голосов
/ 21 октября 2018

Если вы хотите загрузить комментарии из этого поста, присоедините слушателя к его comments дочернему узлу:

database.ref(`/posts/${postId}/comments`).limitToLast(12).on('child_added', callback);

Если вы хотите увидеть ключ каждого комментария и его значение, убедитесь, чтовойти оба:

let callback = function(snap) { console.log(snap.key, snap.val()); };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...