【发布时间】:2015-10-04 06:06:18
【问题描述】:
这是我的模型:
var LocationSchema = new Schema(
{
events: [
{
type: mongoose.Schema.Types.ObjectId,
ref: 'Event'
}
]
})
var EventSchema = new Schema(
{
title : String,
location: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Location'
}
})
我想从 Location 模型中查询 Event 模型中的一个字段。
下面的不行
findOne({events: {$elemMatch: {title: 'test'}}})
我什至不确定这是否可能......
【问题讨论】:
-
不可能,这就是你使用 emedding 的原因。文档中的某处显示使用
.filter(), -
谢谢你们,我已经完成了填充,但是请求所有文档并在之后过滤并不是太贪心?
-
当您在 Event 模型/集合中查找某些内容时,为什么要从 Location 进行查询?
-
@robertklep 因为我的 Location 模型中有我想选择的字段