在MongoDB中,我想根据满足特定参数的子文档的值找到文档。具体来说,我有一个文件的结构是这样的:MongoDB:在数组匹配参数中查找子文档
{
name: "test",
data: [{
name: "test1",
start: 0,
end: 2
},
{
name: "test2",
start: 15
end: 18
}]
}
我怎么能告诉MongoDB中只返回我的文档,如果开始时间为数据子文档小于5和结束时间相同的子文档大于5 ?目前,如果我做
db.foo.findOne({
'data.start': { $lte: 5 },
'data.end': { $gte: 5 }
})
它总是会回到我的文档,因为5大于0和小于18我怎么能告诉MongoDB中只返回我的文档,如果5(或任何值)大于0并且小于2或大于15且小于18?
真棒这正是我需要的,谢谢! – 2012-08-06 06:31:11