получить ценность из облачного пожарного магазина - PullRequest
0 голосов
/ 27 июня 2018

Я получаю значение из облачного пожарного магазина, используя код ниже

dbManager = admin.initializeApp(functions.config().firebase);

this.dbManager.collection("test").doc("myTest").get().then( async test=> {
    console.log("test---------------->",test);
    console.log("test---------------->",test._fieldsProto['tests']);
    console.log("test---data------------->",test.data()['tests'].values);
});

и значение, которое я получаю при использовании test.data()['tests'], равно

{ values: 
   [ { mapValue: [Object], valueType: 'mapValue' },
     { mapValue: [Object], valueType: 'mapValue' },
     { mapValue: [Object], valueType: 'mapValue' },
     { mapValue: [Object], valueType: 'mapValue' },
     { mapValue: [Object], valueType: 'mapValue' },
     { mapValue: [Object], valueType: 'mapValue' },
     { mapValue: [Object], valueType: 'mapValue' },
     { mapValue: [Object], valueType: 'mapValue' },
     { mapValue: [Object], valueType: 'mapValue' } ] }

Как мне получить значения из этого? Когда я пытаюсь с foreach, как test.data()['tests'].array.forEach, он не работает.

1 Ответ

0 голосов
/ 27 июня 2018

test.data()['tests'] не возвращает массив, он возвращает карту {values: []}.

Что вам нужно сделать, это сначала получить values, а затем выполнить цикл по массиву:

test.data()['tests'].values.forEach(x => console.log(x));

Замените console.log() тем, что вы хотите сделать со всеми записями.

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