模型
模型 - > 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?
答案 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'}