我将集合中的文档关键字设置为userId,现在我想在快照中获取该文档以获得实时结果:
Ref = firestore().collection('Ref');
Ref.where("[.key]","==",this.id).onSnapshot(snap => {
if (!snap.empty) {
snap.docChanges().forEach(change => {
if (change.type === "modified") {
// update model here for charts
this.user = change.doc.data()
}
if (change.type === "added") {
// create a new chart
this.user = change.doc.data()
}
})
}
})
我尝试key
.key
[.key]
无效。我想在用户登录时观看此文档的更改。
答案 0 :(得分:1)
如果要基于其ID获取元素,则无需使用查询,只需获取对该文档ID的引用即可。因此,请更改以下代码行:
Ref.where("[.key]","==",this.id).onSnapshot(/* ... */)
到
Ref.doc(key).onSnapshot(/* ... */)
编辑:
var doc = db.collection('Ref').doc(key);
var observer = doc.onSnapshot(docSnapshot => {
console.log(`Received doc snapshot: ${docSnapshot}`);
// Get data from the docSnapshot object
}, err => {
console.log(`Encountered error: ${err}`);
});