Как получить массив из Firestore с JavaScript? - PullRequest
0 голосов
/ 27 мая 2020

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

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

Я знаю, как получить массив из Firestore с Android / Java, но, похоже, это не работает с JavaScript.

Любая помощь приветствуется!

Вот мой код, который я использую в облачной функции:


...

// This is where the array is stored, I now need to get the array and access the data of it
      admin.firestore().collection("User").doc(uid_player_1).collection("User Info").doc("UsernameToken").get().then(queryResult =>{
        // You need to get the array that is stored there. The first value (0) there is the username, the second is the device token

console.log(queryResult)

      });

...

Это журнал, который я получаю:


QueryDocumentSnapshot {
  _fieldsProto: 
   { usernameToken: { arrayValue: [Object], valueType: 'arrayValue' } },

...

Вот коллекция с документом, содержащим массив:

enter image description here

Ответы [ 2 ]

1 голос
/ 27 мая 2020

Как объяснено в документации здесь вы можете получить доступ к данным в вашем коде, используя это

admin.firestore().collection("User").doc(uid_player_1).collection("User Info").doc("UsernameToken").get().then(queryResult =>{

 console.log(queryResult.data());

});
1 голос
/ 27 мая 2020

Если я правильно понял ваш вопрос, следующее должно помочь:

      admin.firestore().collection("User").doc(uid_player_1).collection("User Info").doc("UsernameToken").get().then(queryResult =>{

          const username = queryResult.data().usernameToken[0];
          const token = queryResult.data().usernameToken[1];

      });

queryResult - это DocumentSnapshot: он "содержит данные, считанные из документ в базе данных Firestore. Данные могут быть извлечены с помощью .data () или .get () для получения специального поля c. "

...