Проблемы с доступом к Firebase Cloud Firestore - PullRequest
1 голос
/ 04 апреля 2020

Я использую Cloud Firestore и у меня возникают некоторые проблемы с доступом к значению в простой базе данных.

Вот как структурирована база данных

Это код, который я использую для доступа к полю «basementER-status» в базе данных.

//current status value is pulled from database
  function getRawStatus ()
  {
    return db.collection("rooms").doc("roomsDoc").get().then(function(doc) {
      console.log(doc.data()); 
      console.log(doc.data().basementER-status);
      return doc.data().basementER-status;
    });
  }

Для первого файла console.log он выводится на консоль:

{1ER-status: 0, 2ER-status: 0, basementER-status: 0}
1ER-status: 0
2ER-status: 0
basementER-status: 0
__proto__: Object

Это правильный do c, который необходимо извлечь из базы данных, поэтому Я знаю, что часть моего кода верна.

Однако второй console.log выводит NaN на консоль.

Что здесь происходит? Я не понимаю Я раньше обращался к таким полям в облачном хранилище, и это всегда работало.

Ответы [ 2 ]

2 голосов
/ 04 апреля 2020

Для вашего второго оператора console.log вы пытаетесь получить доступ к указанному параметру c в объекте, поэтому вы должны использовать это:

     console.log(doc.data()["basementER-status"]);

Для получения дополнительной информации, go здесь: FireStore добавление данных ссылка

1 голос
/ 04 апреля 2020

Проблема в том, что JavaScript анализирует ваше утверждение. Эта строка:

console.log(doc.data().basementER-status);

На самом деле выполняет математическое вычитание между doc.data().basementER и значением переменной status. Это не то, что вам нужно.

Если вам нужно значение поля с JavaScript операторами или другими специальными символами в нем, вам придется использовать другой синтаксис:

const data = doc.data();
console.log(data['basementER-status']);

Квадратные скобки позволяют указать произвольную строку для поиска свойства name в объекте.

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