如何从Object Id的动态数组中返回所有文档?

时间:2018-01-30 20:13:52

标签: mongodb mongoose

在我的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方法。任何帮助非常感谢。

控制台中显示的返回文档:

enter image description here

显示全套评论: enter image description here

0 个答案:

没有答案