【问题标题】:Getting a specific field in a document returned from firebase firestore获取从 firebase firestore 返回的文档中的特定字段
【发布时间】:2019-02-26 22:47:46
【问题描述】:

所以,我有一个可能超级容易解决的问题,我只是想不通。 基本上在这一点上,我正在尝试将特定文档的字段存储到 2 个变量中,以便我可以在其他地方使用它们。

这是我的 Firestore 层次结构:

这是我到目前为止的代码,我认为我在正确的轨道上,但我不知道用什么替换“//我在这里放什么”。

var db = firebase.firestore();
var user = firebase.auth().currentUser;
var usersEmail = user.email;
db.collection("users").where("email", "==", usersEmail)
                    .get()
                    .then(function(querySnapshot) {
                        querySnapshot.forEach(function(doc) {
                            // doc.data() is never undefined for query doc snapshots
                            console.log(doc.id, " => ", doc.data());
                            var firstName = //What do I put here?
                            var lastName = //What do I put here?
                        });
                    })
                    .catch(function(error) {
                        console.log("Error getting documents: ", error);
                    });

【问题讨论】:

    标签: javascript firebase google-cloud-firestore


    【解决方案1】:

    doc.data() 只是一个普通的 JavaScript 对象,其中包含您刚刚阅读的文档的内容:

    var data = doc.data();
    var firstName = data.first;
    var lastName = data.last;
    

    【讨论】:

    • 我知道这很简单。谢谢!
    • 为什么有时需要使用 doc.data 而有时需要 doc.data() ?用“()”,有什么区别用和不用。
    【解决方案2】:

    也可以直接从DocumentSnapshot获取字段值:

    var firstName = doc.get("first");
    var lastName = doc.get("last");
    

    【讨论】:

      猜你喜欢
      • 2018-09-04
      • 1970-01-01
      • 2023-02-13
      • 2020-09-20
      • 2021-07-04
      • 1970-01-01
      • 2019-05-28
      • 2020-08-01
      • 1970-01-01
      相关资源
      最近更新 更多