Как исключить определенные ключи в дереве базы данных Firebase - PullRequest
0 голосов
/ 29 марта 2019

Я пытаюсь выбрать только те ключи, которые children имеют разные значения даты. Я посмотрел справочные документы API Firebase, и у них есть where, но я не могу найти, где его использовать. Я хочу исключить ключ date и отобразить только остальные. На данный момент я получаю все, но хочу исключить date

2019-03-27
AB000002_AB0244
AB000002_AB0827
date

Это моя база данных firebase

enter image description here

const fetchReminders =  ()=> {
    const ref  = db.ref("reminders");
    let dateTime = new Date();
    let currentDate = dateFormat(dateTime, "yyyy-mm-dd");
    ref
        .orderByChild('date')
        .endAt(currentDate)
        .once('value', (pSnapshot)=> {
            pSnapshot.forEach((theSnapshot)=> {
                console.log(theSnapshot.key);
                theSnapshot.forEach( (pNotificationSnapshot)=> {
                    console.log(pNotificationSnapshot.key);
                });
            });
    }).catch( (error)=> {
        console.log(error)
    })
};

Ответы [ 2 ]

2 голосов
/ 29 марта 2019

Вам необходимо изменить базу данных, поскольку date уже является родительским узлом, тогда нет необходимости добавлять дочерний узел date : 2019-03-10, или, если вам нужно добавить date, вы можете добавить его вдругой key.

Ваша база данных должна быть создана, чтобы сделать запрос простым и возможным.

Более подробная информация здесь:

https://firebase.google.com/docs/database/web/structure-data

1 голос
/ 29 марта 2019

Это невозможно: с базой данных реального времени

По умолчанию запросы глубоки: они всегда возвращают все поддерево.

, как описано здесь https://firebase.google.com/docs/firestore/rtdb-vs-firestore#querying

Поскольку вы запрашиваете непосредственные дочерние элементы узла reminders, вы получите все поддерево, включая узлы AB000002_AB0244, AB000002_AB0827 и их дочерние элементы, а также узел date.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...