Запрос базы данных Firebase - PullRequest
       0

Запрос базы данных Firebase

1 голос
/ 15 января 2020

Я хочу получить всех пользователей, которые содержат дочерний узел NotificationToken, и исключить всех пользователей, у которых нет этого узла. Я использую следующее:

const ref = admin.database().ref('/Users');
const users = await ref.orderByChild('notificationToken').equalTo(****WHAT GOES HERE****).once('value').then((snapshot) => snapshot.val());

Я не уверен, что equalTo может делать то, что я хочу, я знаю, что могу использовать его, чтобы соответствовать точным строкам или логическим значениям, но как я могу использовать его, если у пользователя есть узел messagesToken?

1 Ответ

1 голос
/ 15 января 2020

Вы можете использовать equalTo, чтобы соответствовать точному значению узла / свойства в базе данных.

Итак:

ref.orderByChild('notificationToken').equalTo(value)

Возвращает дочерние узлы ref, для которых Свойство notificationToken имеет то же значение, что и value. Из этой последней ссылки следует, что вы можете использовать startAt(null), чтобы получить все дочерние узлы, которые имеют свойство, независимо от его значения или типа.

value может быть любым разрешенным типом JSON, и должен соответствовать типу, который хранится в базе данных. Поэтому, если notificationToken является строковым значением, value также должно быть строкой.

Подробнее об этом см. Документацию Firebase по сортировке и фильтрации данных , и, в частности, раздел по порядок упорядочения данных запроса .

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