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

时间:2014-02-22 01:03:14

标签: node.js mongodb express mongoose

我有2个型号,

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
});

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

locationModel.find({
    users : { $in: [some_user_id] }
});