Извлечение данных из документа коллекции в базе данных пожарного магазина с идентификатором документа - PullRequest
0 голосов
/ 07 апреля 2019

Я хочу создать приложение для чата с чатом, внедрив приложение для чата, поддерживающее Firebase.Я хочу получить всю информацию из документации "rooma" о сборе сообщений.Но я не могу получить информацию из документа с идентификатором «rooma», но могу получить доступ ко всей информации из коллекции «message».мой код:

function loadMessages() {
  // Create the query to load the last 12 messages and listen for new ones.
  var query = firebase.firestore()
                  .collection('messages').where(firebase.firestore.FieldPath.documentId(), '==', 'rooma').get()
                  .orderBy('timestamp', 'desc')
                  .limit(12);

  // Start listening to the query.
  query.onSnapshot(function(snapshot) {
    snapshot.docChanges().forEach(function(change) {
      if (change.type === 'removed') {
        deleteMessage(change.doc.id);
      } else {
        var message = change.doc.data();
        displayMessage(change.doc.id, message.timestamp, message.name,
                       message.text, message.profilePicUrl, message.imageUrl);
      }
    });
  });
}

моя структура базы данных: Imgur

1 Ответ

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

Если вы хотите получить данные «документа с ID« rooma »», просто выполните следующие действия в соответствии с документацией :

var docRef = db.collection("messages").doc("rooma");

docRef.get().then(function(doc) {
    if (doc.exists) {
        console.log("Document data:", doc.data());
    } else {
        // doc.data() will be undefined in this case
        console.log("No such document!");
    }
}).catch(function(error) {
    console.log("Error getting document:", error);
});

Если вы хотите использовать onSnapshot(), для того, чтобы " прослушать документ", вам просто нужно сделать следующее, в соответствии с документацией :

var docRef = db.collection("messages").doc("rooma");
docRef.onSnapshot(function(doc) {
     console.log("Current data: ", doc.data());
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...