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

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

有什么想法吗?

最佳答案

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

关于node.js - Mongoose - 查找包含子文档引用的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21948195/

相关文章:

javascript - NodeJS - SHA256 密码加密

javascript - 只运行一次函数

python - 使用 pymongo 和 flask 插入数据

node.js - 如何在mongodb中获取每个组的最新N条记录?

node.js - 从 Jade 内部获取用户代理

用于 MonetDB 的 Node.js 和 ODBC

node.js - 我可以使用lambda来压缩一个bucket下的所有图像吗?

json - 如何分析 Web 服务?

node.js - Jade 在模板中渲染 "populated" Mongoose 属性的意外值

node.js - Node 组/用户管理框架