在MongoDB中,我想基于满足某些参数的子文档的值来查找文档.具体来说,我的文档结构如下:
{
name: "test",
data: [{
name: "test1",
start: 0,
end: 2
},
{
name: "test2",
start: 15
end: 18
}]
}
Run Code Online (Sandbox Code Playgroud)
如果数据子文档的开始时间小于5并且同一子文档的结束时间大于5,我怎么能告诉MongoDB只返回我的文档?目前,如果我这样做
db.foo.findOne({
'data.start': { $lte: 5 },
'data.end': { $gte: 5 }
})
Run Code Online (Sandbox Code Playgroud)
它将返回我的文档,因为5大于0且小于18.如果5(或任何值)大于0且小于2或大于15且小于18,我怎么能告诉MongoDB只返回我的文档?
我有一个像这样的集合中的文档,我需要找到form_Id:1和Function_Id:2的记录,如何编写mongo查询.
"Form_Id" : 1,
"Function" : [{
"Function_Id" : 1,
"Role" : [{
"Role_Id" : 1,
"UserId" : ["Admin", "001"]
}]
}, {
"Function_Id" : 2,
"Role" : [{
"Role_Id" : 2,
"UserId" : ["Admin", "005"]
}]
}]
Run Code Online (Sandbox Code Playgroud) mongodb ×2