我正在尝试显示来自两个集合的数据。我已经连接到父集合中的子(用户)集合,并从用户(子)集合中获取用户的一些基本细节,并与父集合数据一起显示。 问题是有时来自用户集合的数据不会显示。如果我再次刷新页面,则会显示。有时显示,有时不显示。如果我刷新它显示。通过调用API但同样的问题检查邮递员。有时响应不会从用户集合中显示。但每次都会显示父集合数据。 你能告诉我怎样才能解决这个问题。 请给我解决方案。
const viewAllReviews = (req, res, next) => {
ParentTable.findOneById(req.params.id)
.then((resp) => {
const r = resp;
if (resp.user_ratings.length > 0) {
for (let i = 0; i < resp.user_ratings.length; i += 1) {
ChildTable.findOneById(resp.user_ratings[i].userId)
.then((users) => {
r.user_ratings[i] = {
ratings: resp.user_ratings[i].ratings,
comments: resp.user_ratings[i].comments,
comment_added: resp.user_ratings[i].comment_added,
comment_updated: resp.user_ratings[i].comment_updated,
commentId: resp.user_ratings[i].commentId,
userId: resp.user_ratings[i].userId,
// data from user collection
username: users.username,
displayname: users.displayname,
profilepicture: users.profilepicture
};
if (i === resp.user_ratings.length - 1) {
res.result(resp.user_ratings, 200, next);
}
});
}
} else {
res.result(r.user_ratings, 200, next);
}
})
.catch(e => next(e));
};
用户收集的结果有时无法显示。如果我再次刷新,则显示