在Firestore中查询文档集合并将其保存在变量中始终返回空

时间:2020-08-18 16:38:21

标签: javascript node.js firebase google-cloud-firestore

因此,我一直试图在firestore中查询集合,以返回满足特定条件的文档,并将结果保存在变量中,如下所示:

exports.getFriendsScreams = (req, res) => {
    const user = req.user.handle;
    let friendsList = [];
    let friendsPost = [];
    db.collection("users")
        .doc(user)
        .get()
        .then(snap => {
            friendsList = snap.data().friends;
            friendsList.forEach(friend => {
                db.collection("screams")
                    .where("handle", "==", friend)
                    .orderBy("createdAt", "desc")
                    .get()
                    .then(snapshot => {
                        snapshot.forEach(doc => {
                            friendsPost.push(doc.data());
                        });
                    });
            });
            return res.status(201).json({ friendsPost });
        })
        .catch(err => {
            return res.status(500).json({error: err.message});
        });
};

但是在 res.json 中返回给客户端的数据是 friendsPost ,但始终返回空,但是当我将 friendsPost 的值记录到控制台在每个块的第二个内返回正确的值,但在块外返回空,我想知道我在做什么错。

0 个答案:

没有答案