FIREBASE: получение null при извлечении данных из базы данных - PullRequest
0 голосов
/ 20 июня 2020

Прикреплен скриншот структуры базы данных firebase.

enter image description here

Я хочу получить данные с помощью скрипта узла . ниже мой код.

var db = admin.database();
var ref = db.ref("test/name");

console.log(ref)

ref.on("value", function(snapshot) {
    console.log("==========");
  console.log(snapshot.val());
}, function (errorObject) {
  console.log("The read failed: " + errorObject.code);
});

console.log(snapshot.val()); всегда печатать null

Ниже приведен результат console.log(ref)

path: Path { pieces_: [ 'test', 'name' ], pieceNum_: 0 },
  queryParams_: QueryParams {
    limitSet_: false,
    startSet_: false,
    startNameSet_: false,
    endSet_: false,
    endNameSet_: false,
    limit_: 0,
    viewFrom_: '',
    indexStartValue_: null,
    indexStartName_: '',
    indexEndValue_: null,
    indexEndName_: '',
    index_: PriorityIndex {}
  },

В чем проблема кода? ссылаясь на этот документ: https://firebase.google.com/docs/reference/js/firebase.database.DataSnapshot

1 Ответ

1 голос
/ 20 июня 2020

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

var db = admin.firestore();
var ref = db.doc("test/name");

console.log(ref)

let getDoc = ref.get()
  .then(doc => {
    if (!doc.exists) {
      console.log('No such document!');
    } else {
      console.log('Document data:', doc.data());
    }
  })
  .catch(err => {
    console.log('Error getting document', err);
  });

https://firebase.google.com/docs/firestore/query-data/get-data

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