我想通过实现Firebase友好的聊天应用程序来制作带有聊天室的聊天应用程序。我想从消息收集的“ rooma” documentid获取所有信息。但是我无法从ID为“ rooma”的文档中获取信息,但是我可以从“消息”集合中访问所有信息。 我的代码是:
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
答案 0 :(得分:0)
如果要获取“带有ID
'rooma'的文档”的数据,请按照documentation进行以下操作:
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()
,为了“ 收听到文档”,只需按照documentation进行以下操作:>
var docRef = db.collection("messages").doc("rooma");
docRef.onSnapshot(function(doc) {
console.log("Current data: ", doc.data());
});