【发布时间】:2018-12-24 12:02:31
【问题描述】:
我在用户集合中有一个用户对象,如下所示:
{
"username": "bahramhasanov",
"sessions": [
{
"time": "2018-12-10 12:30"
},
{
"time": "2018-10-11 13:30"
}
]}
现在我想获取在“2018-10-01”和“2018-10-15”之间没有任何会话的用户。 当我使用 $elemMatch 和 $not 查询时,我得到了 bahramhasanov,因为他的会话超出了此日期范围。
我使用了这个查询:
db.users.find({sessions:{$elemMatch: {"time": {$not:{$gt: ISODate('2018-10-01'),$lt: ISODate('2018-10-15')}}}}})
【问题讨论】:
-
那么您的查询有什么问题?
-
我需要忽略这个用户,因为他在 01.10 - 15.10.2018 之间有一个会话
-
亲爱的 Ankit,这对我不起作用。 Mongo 版本是 2.6
标签: arrays mongodb mongodb-query