我有两个模式Organization
和Location
。在Organization
架构上,我引用了位置架构:
Organization = new Schema({
location: {
type: Schema.ObjectId,
ref: 'Location'
}
});
Location
架构包含国家,州,市,区等字段。
现在我如何搜索具有特定国家/地区或城市的Organization
。
我在Mongoose Document中找到的是这样的:
Organization
.find()
.populate([{path:'location',select:'country state city district' },
{/*other population paths*/}] /*Some constriants here*/).exec(function(err, orgs){
console.log(orgs);
});
如何实现此类搜索。是否有可用于此类参考文档搜索的插件?
答案 0 :(得分:2)
您可以传递匹配查询以选择特定位置。请阅读文档query_populate。
Organization
.find()
.populate([{
path:'location',
match : {state : req.query.state} //your query goes here
select:'country state city district'
}]).exec(function(err, orgs){
console.log(orgs);
});