在我的Node get路由中,我试图在动态数组中返回属于每个Object Id的所有文档。该数组是动态的,因为它根据从Mongo数据库查询的“公司”而发生变化。
我已经尝试了许多不同的Stack Overflow答案中的大约一百种不同的东西,但不幸的是,似乎没有人回答我当前的问题。
我当前的路线当前只从一个id返回一个只有一个文档的数组,这是我到目前为止最接近的文档。这是:
router.get('/:category/:company', (req, res, next) => {
Company.findOne({ "companyName": req.params.company}, (err, company) => {
console.log("printing all reviews", company.reviews);
if(!company) {
res.status(400).json({ message: "Can't find the company you're looking for at the moment." });
} else {
Review.find({'_id': { $in: company.reviews } },
(err, reviews) => {
console.log("getting all reviews for company", reviews);
res.json({
message: "Retrieving your company",
company: company,
reviews: reviews
});
});
}
});
});
注意:company.reviews确实显示了属于查询公司的完整评论数组,但是mongoose方法只返回一个带有其中一个id的数组。
我无法找到任何返回完整数组的mongoose或mongodb方法。任何帮助非常感谢。
控制台中显示的返回文档: