如何从JSON中的Firestore返回数据?

时间:2019-05-30 17:31:46

标签: node.js google-cloud-firestore

我正在尝试创建一个函数(在服务器端),能够从Firestore返回数据 但它总是让我返回不确定的状态

我试图在返回之前显示它,并且可以在终端中看到该值。

exports.get_client = (ref)=> {
    ref.collection("clients/").get().then(function(coll) {
        let a= []
            coll.forEach(element => {
              a.push({"User": element.id, "data": element.data()})
              return a
            })
    }).catch(function(error) {
        console.log("Error getting document:", error);
    });
}

我期望[{用户:'test@test.com',     数据:      {电子邮件:“ test@test.com”,        family_name:“ test2”,        first_name:'test'}}] 但是我没有定义。

1 个答案:

答案 0 :(得分:0)

您的return a行刚从传递给forEach的lambda函数返回。它实际上并未从函数get_client返回任何内容。如果您有一个要从get_client返回的值,则必须在lambda之外执行该操作

exports.get_client = (ref)=> {
    return ref.collection("clients/").get().then(function(coll) {
        let a= []
        coll.forEach(element => {
            a.push({"User": element.id, "data": element.data()})
        })
        return a
    }).catch(function(error) {
        console.log("Error getting document:", error);
    });
}