Облачные функции получают список из пути к базе данных в реальном времени - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь получить список объектов из пути.Структура документа показана ниже:

-- device
    |
    -- {id}
        |
        ...
        -- user:
            |
            -- {pushId}: <user id x>
            |
            ...
            |
            -- {pushId}: <user id z>
    |
    ...
|

Приведенный ниже код показывает, как я пытаюсь получить все идентификаторы пользователей, но не получаю список, только получаю снимок.

const getUserIdsPromise = admin.database().ref(dbVersionRef + `/device/${id}/user/{pushId}`).once('value');
return Promise.all([anotherPromise, getUserIdsPromise]).then((results) => {
    const userIds = results[1].child();

    // No id is logged
    userIds.forEach((id) => {
        debug.log('userId: ' + id);
});

1 Ответ

0 голосов
/ 20 сентября 2018

Вы читаете /device/${id}/user/{pushId}, что означает, что вы читаете одного пользователя.

Если вы хотите получить всех пользователей для одного устройства, вы должны прочитать с /device/${id}/user:

admin.database().ref(dbVersionRef + `/device/${id}/user/`)
     .once('value')
     .then((results) => {
       results.forEach((snapshot) => {
         debug.log('userId: ' + snapshot.val());
       })
     });

Если вы хотите получить устройства, вы должны прочитать с /device.

...