查询FireStore集合以获取文档密钥

时间:2019-03-16 11:23:54

标签: node.js google-cloud-firestore

我将集合中的文档关键字设置为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]无效。我想在用户登录时观看此文档的更改。

1 个答案:

答案 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}`);
});