use*_*904 15 mongodb nosql mongodb-query
有没有办法在元素匹配中执行$或语句?
我有这个:
opened: {
$elemMatch: {
closed: false
openingEvening: {$lte: currentTime},
closingEvening: {$gte: currentTime},
}
}
Run Code Online (Sandbox Code Playgroud)
并希望将openMorning添加到l
如何将其扩展为:
opened: {
$elemMatch: {
closed: false
{$or: [
{openingEvening: {$lte: currentTime}, closingEvening: {$gte: currentTime},},
{openingMorning: {$lte: currentTime}, closingMorning: {$gte: currentTime}}
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是可能的吗?
Nei*_*unn 24
当然是,只是清理语法,但你基本上有它:
{
"opened": {
"$elemMatch": {
"closed": false,
"$or": [
{
"openingEvening": { "$lte": currentTime },
"closingEvening": { "$gte": currentTime }
},
{
"openingMorning": { "$lte": currentTime },
"closingMorning": { "$gte": currentTime }
}
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
并给出了数据的样本概念:
{
"_id" : ObjectId("537969cee90c3db84958aa86"),
"opened" : [
{
"closed" : false,
"openingEvening" : 17,
"closingEvening" : 22,
"openingMorning" : 11,
"closingMorning" : 14
}
]
}
{
"_id" : ObjectId("53796a47e90c3db84958aa87"),
"opened" : [
{
"closed" : false,
"openingMorning" : 13,
"closingMorning" : 14
}
]
}
Run Code Online (Sandbox Code Playgroud)
当前时间12
将匹配第一个但不匹配第二个文档,但值13
将匹配两者.
还注意到这些都在一个数组内,所以考虑到你的估计目的,你可能想要一个"dayOfWeek"字段也包括在那里
归档时间: |
|
查看次数: |
7880 次 |
最近记录: |