【发布时间】:2021-05-25 13:25:01
【问题描述】:
我是该网站的新手,我有一个关于 nodejs 中的一个函数的问题,我无法解决。解决方案非常简单,但对我不起作用。
我在 React 中构建了一个社交网络,为此我使用了 nodeJs。 我有一个功能要尝试修复,但它不起作用。 在 firebase 中,我有一个名为 match 的集合,其中有用户的详细信息,并且对于每个用户,出现他的朋友的其他参与者。 以图片为例:
我有一个 Match 的集合,里面有我的用户,例如 backend4 是一个用户名,在里面,我有它适合的所有用户的详细信息。
这是我写的函数,但是有一个问题,它通过所有用户,图中可以看到的三个用户。
exports.getMatchHandleArray = (req, res) => {
let engineers = [];
db.collection("match").get().then(querySnapshot => {
querySnapshot.forEach(doc => {
const engineerDetails = doc.data();
if (engineerDetails.handle === req.user.handle) {
engineerDetails.handle;
engineers.unshift(engineerDetails);
}
else {
engineerDetails.handle;
engineers.push(engineerDetails);
}
});
console.log(engineers.length);
res.json(engineers);
});
};
我希望它只通过我选择的一个用户,为此我做了这样的事情:
exports.getMatchHandleArray = (req, res) => {
let engineers = [];
db.collection(`/match/${req.user.handle}`).get().then(querySnapshot => {
querySnapshot.forEach(doc => {
const engineerDetails = doc.data();
if (engineerDetails.handle === req.user.handle) {
engineerDetails.handle;
engineers.unshift(engineerDetails);
}
else {
engineerDetails.handle;
engineers.push(engineerDetails);
}
});
console.log(engineers.length);
res.json(engineers);
});
};
我收到一条 500 错误消息,我明白为什么,因为我无法在 db.collection 中进行选择。
我认为应该使用这样的东西:
db.doc (/ match / $ {req.user.handle}) 但我做不到
【问题讨论】:
标签: node.js reactjs firebase express