Как преобразовать коллекцию firestore из .get () в строку, используя javascript - PullRequest
0 голосов
/ 07 апреля 2020

В настоящее время я пишу веб-сайт, который будет использовать облачный firestore в качестве базы данных. Чтобы прочитать сборник, это мой код

const docRef = firestore.doc("driver/D001");
firestore.collection("driver")
    .get()
    .then(function(querySnapshot) {
        querySnapshot.forEach(function(doc) {
            // doc.data() is never undefined for query doc snapshots
            console.log(doc.id, " => ", doc.data());
        });
    })
    .catch(function(error) {
        console.log("Error getting documents: ", error);
    });

Потребовалось довольно много времени, чтобы получить результат, и результат равен

D001  =>  { contactNo: '0814444555', firstName: 'John', lastName: 'Ohmygod' }

, что является правильным

Но как я могу преобразовать каждый результат в строку и присвоить его переменной, чтобы я мог сохранить значение и показать его на своем веб-сайте. Или вы, ребята, можете предложить любой другой способ, кроме использования javascript для чтения коллекции Firestore при разработке веб-сайта? Спасибо.

1 Ответ

0 голосов
/ 08 апреля 2020

Если я правильно понимаю, вы спрашиваете, как сделать две вещи:

  1. сериализовать данные документа в строку
  2. использовать строковое значение в другом месте вашего сайта

Первая часть зависит от того, хотите ли вы представить данные. Простой способ преобразования данных do c в строку - это использование литерала шаблона и явное извлечение полей:

function toString(doc) {
  let data = doc.data();
  return `${data.contactNo}, ${data.firstName}, ${data.lastName}`;
}

Затем вы можете преобразовать документы по мере их получения:

.then(function(querySnapshot) {
    querySnapshot.forEach(function(doc) {
        // doc.data() is never undefined for query doc snapshots
        console.log(doc.id, " => ", toString(doc.data()));
    });
})

Что касается использования этих данных на вашем веб-сайте, вероятно, вы хотите передать эти значения какому-либо потребителю, однако это зависит от деталей того, что вы хотите сделать с данными. Например, в теле функции, которую вы передаете forEach (), вы можете вызвать другую функцию, которая обновляет некоторую часть вашего документа, печатает на консоль и т. Д. c.

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