小编BSo*_*SoD的帖子

云函数中的 QueryDocumentSnapshot 中不存在 data() 方法

我只是想在我的一个 firebase 可调用函数中获取文档数据,我已经从之前的查询中知道了它的 ID。

问题是[...].doc(id).get()方法的结果对象没有.data()方法或exists成员。

我尝试使用列出对象的属性Object.getOwnPropertyNames(snapshot);,但找不到existsdata()

使用 获取文档的参考作品ref,但我无权访问其他方法/成员。

以下是我使用两个查询获取数据的方法(注意我的 console.log 调用):

return firestore.collection("/teams").where("login", "==", data.login).get()
    .then( (snapshot) => {
        if(!snapshot.empty) {
            user = snapshot.docs[0].data().login;
            id = snapshot.docs[0].id;
            console.log(snapshot.docs);
            return firestore.collection("/passwords").doc(id).get();
        } else {
            return {
                success: false,
                error: 2
            };
        }
    })
    .then((snapshot) => {
        console.log(snapshot);
        if(snapshot.hasOwnProperty("exists") && snapshot.exists) {
            return bcrypt.compare(data.password, snapshot.data().password);
        } else {
            return {
                success: false,
                error: 2
            };
        }
    })
Run Code Online (Sandbox Code Playgroud)

这是我的第一个 …

node.js google-cloud-functions google-cloud-firestore

6
推荐指数
1
解决办法
984
查看次数