mongo-mongoose 如何使这个查询mongoose?
mongo-mongoose how to make this query mongoose?
型号
Models -> id, name, makeid
Makes -> id, name
如何使用品牌名称而不是 ID(“三菱”)进行查询 mongo?例如:
SELECT * FROM models
LEFT JOIN makes on models.makeid = makes.id
where makes.name = "mitsubishi"
如何在 mongo 中实现相同的查询 - mongoose ?
如果你的模型架构是这样写的:
makeid: {type: Schema.Types.ObjectId, ref: 'Makes'}
然后你可以像这样进行人口查询:
Model.findOne({}).populate( {path:'makeid'});
这将 return 一个如下所示的对象:
{id:'mirage', 'name':'Mirage', makeid:{id:'mitsubishi', name:'Mitsubishi'}}
我可能会将模型的 "makeid" 字段命名为 "make" 以使其更加地道。
您还将获得 _id 和任何其他属性。如果要过滤属性,请添加 select 属性:
{path:'makerid', select:'id name'}
型号
Models -> id, name, makeid
Makes -> id, name
如何使用品牌名称而不是 ID(“三菱”)进行查询 mongo?例如:
SELECT * FROM models
LEFT JOIN makes on models.makeid = makes.id
where makes.name = "mitsubishi"
如何在 mongo 中实现相同的查询 - mongoose ?
如果你的模型架构是这样写的:
makeid: {type: Schema.Types.ObjectId, ref: 'Makes'}
然后你可以像这样进行人口查询:
Model.findOne({}).populate( {path:'makeid'});
这将 return 一个如下所示的对象:
{id:'mirage', 'name':'Mirage', makeid:{id:'mitsubishi', name:'Mitsubishi'}}
我可能会将模型的 "makeid" 字段命名为 "make" 以使其更加地道。
您还将获得 _id 和任何其他属性。如果要过滤属性,请添加 select 属性:
{path:'makerid', select:'id name'}