Node.js Mongoose-查找包含子文档引用的文档

Node.js Mongoose-查找包含子文档引用的文档,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,我有两个模型 var locationSchema = mongoose.Schema({ name: String, users: [{ type: mongoose.Schema.Types.ObjectId, ref: 'User' }] }); var userSchema = mongoose.Schema({ name: String, email: String }); 我想得到所有的位置,有一个特定的用户

我有两个模型

var locationSchema = mongoose.Schema({
    name: String,
    users: [{
        type: mongoose.Schema.Types.ObjectId,
        ref: 'User'
    }]
});

var userSchema = mongoose.Schema({
    name: String,
    email: String
});
我想得到所有的位置,有一个特定的用户。例如,使用以下数据

Location      Users
    A         [1,2,3]
    B         [1,4,5]
    C         [6]
比如说,我想找到所有有用户#1的位置。我试过跟踪,但没有成功

var locationModel = mongoose.model('Location', locationSchema);

locationModel.find({
    users : { $in: user }
});

locationModel.find({
    'users._id' : user._id
});

locationModel.find({
    'users.$oid' : user._id
});

locationModel.find({
    'users.id' : user._id
});

有什么想法吗?

似乎是对的,但不幸的是,这家伙使用的是猫鼬模型,所以它没有嵌入。请参见第一个模式定义。文档在另一个集合中。@zPhiNGpHoNG这可能适用于
\u id
,但您可能需要研究它是否适合您的用例。如果你能做到这一点,那么从你的用户模式中查询相关信息就会容易得多。谢谢,尼尔。但如果我使用嵌入式文档,它将生成重复的数据。我宁愿不去。
locationModel.find({
    users : { $in: [some_user_id] }
});