具有乘法值的猫鼬find()

时间:2019-02-15 20:11:24

标签: node.js api mongoose

我正在尝试使用thisCart数组从产品集合中查找()多个ID,该数组还有一些我想比较的ID。 我尝试了几种方法但都没有成功。

cart.findOne({"user_id": userId, "activeCart": true}).then(thisCart => {
        Product.find({"product_id": prodId})
        // here thisCart bring back arrays with multi ids 
       // which I want to do foreach thisCart[i].id = Product.product_id
       // and eventually get all the products which equal to thisCart[i].id
        res.status(200).json({

        });

1 个答案:

答案 0 :(得分:0)

首先,因为您使用chart.findOne(...),所以只会返回一个数据。

尝试使用async awaitarray.map像这样:

app.get('/your end point', async (req,res) => {
try{
 const thiChart = await Cart.findOne({"user_id": userId, "activeCart": true});
 const thisProduct = await  Product.find({"product_id": prodId});
 const result = thisProduct.map(item => {
  return item.id = thisChart.id //or may be anything you want
 }) //using array.map will return array

 console.log(result) //optional 

 res.status(200).json({
  result
 });

} catch (error){
  console.log(error)
  }
 }
)

我希望这可以为您提供帮助