小编Wou*_*ter的帖子

Mongoose在引用的文档属性中查找

我在查询时很疯狂,根据引用的文档属性查找匹配项.我已经定义了这样的架构:

mongoose.model('Route', new mongoose.Schema({
    user: {
        type: mongoose.Schema.Types.ObjectId,
        ref: 'User'
    }
}));

mongoose.model('Match', new mongoose.Schema({
    route: {
        type: mongoose.Schema.Types.ObjectId,
        ref: 'Route'
    }
}));
Run Code Online (Sandbox Code Playgroud)

因此,当我在Match模型中搜索来自特定用户的路线时,我会做类似的事情(也尝试没有'_id'属性):

match.find({'route.user._id': '53a821577a24cbb86cd290d0'}, function(err, docs){});
Run Code Online (Sandbox Code Playgroud)

但不幸的是,它没有给我任何结果.我也尝试填充模型:

match.find({'route.user._id': '53a821577a24cbb86cd290d0'}).populate('route').exec(function(err, docs){});
Run Code Online (Sandbox Code Playgroud)

但这并没有什么不同.我知道的解决方案(但不认为它们是最好的):

  1. 查询所有结果并迭代它们,按代码过滤
  2. 将嵌套文档保存为路径模型中的数组(因此不是引用)

有人建议吗?提前谢谢了!

相关问题(但不是提供的工作解决方案):

documents mongoose mongodb node.js express

2
推荐指数
1
解决办法
1487
查看次数

标签 统计

documents ×1

express ×1

mongodb ×1

mongoose ×1

node.js ×1