如何使用所有idRefs执行get请求

时间:2017-02-05 15:20:26

标签: angularjs node.js rest http express

我的项目中有两个型号,一个是商店,另一个是产品,商店有这样的产品参考:

produtos: [
  { type: mongoose.Schema.ObjectId, ref: 'Produto' }
]

基本上我现在有这样一个对象:

{
  "_id": "589715a3a2030f7bc143ed89",
  "nome": "levis2",
  "email": "filipecostaa10@gmail.com1",
  "password": "1234",
  "__v": 8,
  "produtos": [
    "58971695a2030f7bc143ed8a",
    "589716d7a2030f7bc143ed8b",
    "58971742a2030f7bc143ed8c",
    "58971770a2030f7bc143ed8d",
    "589717a1a2030f7bc143ed8e",
    "58971848a2030f7bc143ed8f",
    "589718f5a2030f7bc143ed90",
    "58971937a2030f7bc143ed91"
  ],
  "descricao": "No description for this store"
}

数组produtos有很多ID。那些ID是产品的参考;我现在需要知道的是我如何获取获取请求以获取所有带有这些ID的产品,我该如何发送请求?

这是我的路由器

router.get('/',function(req,res){
  Loja.find(function(err,lojas){
      if(!lojas){
        return res.status(404).json({Error:"Loja nao encontrada"});
      }
      res.send(lojas); 
  }).populate("Produto");
})

1 个答案:

答案 0 :(得分:0)

似乎您试图通过populated产品字段获取所有商店:

router
  .route('/')
    .get(function(req, res) {
      Loja
        .find()
        .populate('produtos')
        .exec(function(err, lojas) {
          if ( err ) {
            return handleError(err);
          }
          res.json(lojas);
        });
    });