mongo-mongoose如何让这个查询mongoose?

时间:2015-04-24 22:15:01

标签: mongodb mongoose

模型

  

模型 - > id,name,makeid

     

制作 - > id,name

如何使用make name而不是id(" mitsubishi")使这个查询成为mongoose?ex:

SELECT * FROM models
LEFT JOIN makes on models.makeid = makes.id
where makes.name = "mitsubishi"

如何在mongo中实现同样的查询 - mongoose?

1 个答案:

答案 0 :(得分:2)

如果你的模型模式是这样写的:

makeid: {type: Schema.Types.ObjectId, ref: 'Makes'}

然后你可以像这样进行人口查询:

Model.findOne({}).populate( {path:'makeid'});

这将返回一个如下所示的对象:

{id:'mirage', 'name':'Mirage', makeid:{id:'mitsubishi', name:'Mitsubishi'}}

我可能会将模型的“makeid”字段命名为“make”以使其更具惯用性。

您还可以获得_id和任何其他属性。如果要过滤属性,请添加一个选择属性:

{path:'makerid', select:'id name'}