如图所示,chat_test是集合名称,并且我使用随机名称创建了文档。如果发生任何更改,我想访问更新的文档。我需要写什么查询?
这是我的代码。
firestore.collection('chat_test')
.orderBy('updated_at', 'desc')
.limit(1)
.onSnapshot((snapshot) => {
//console.log('success=>',JSON.stringify(snapshot));
snapshot.forEach(function(doc) {
firestore.collection('chat_test/'+doc.id+'/messages').orderBy('message_time', 'desc').limit(1).onSnapshot((snap) => {
console.log(snap);
snap.forEach(function(doc) {
console.log(doc.id,doc.data());
});
}, (error) => {
console.log('error',error);
});
});
}, (error) => {
console.log('error',error);
});
我在document中添加了update_at新键。还有其他方法吗?
答案 0 :(得分:1)
不是必须在整个集合上使用onSnapshot,而必须在文档上使用它。我直接从Firestore文档https://firebase.google.com/docs/firestore/query-data/listen#top_of_page
中获取了此信息db.collection("cities").doc("SF")
.onSnapshot(function(doc) {
console.log( " data: ", doc.data());
});
以上代码随时在集合“城市”中执行文档“ SF”更新。