在mongodb中,我有两个collection user和adress,我想获取所有居住在同一城市的用户



嗨,请帮助我是MongoDB的新手,我有两个收集用户和地址,我想获得所有居住在同一城市的用户

Mongoose方案:

var Person = mongoose.model('Person', {
fname: String,
mname: String,
lname: String,
address: {type: Schema.Types.ObjectId, ref: 'Address'}
});

var Address = mongoose.model('Address', {
houseNum: String,
street: String,
city: String,
state: String,
country: String
});
db.Person.aggregate([
{
$lookup: {
from: "Address",
localField: "address",
foreignField: "_id",
as: "docs"
}
},
{
$group: {
_id: {
$first: "$docs.city"
},
person_ids: {
$push: "$_id"
}
}
}
])

mongoplayground

最新更新