我有一个集合,其中_id
s 是时间和字符串的组合(是的,我知道这很糟糕,但是......当我到达时就是这样)。该集合中的一条记录如下所示:
{
"_id": {
"my_string": "Foo",
"my_time": new Date("2014-12-19T12:38:00-0500")
},
"field1": 60,
"field2": 17,
}
基本上,我试图找出一个查询,它会给我记录 where _id.my_string
isFoo
和_id.my_time
is between time1
andtime2
我可以$and
用来构建查询dict
复合的不同部分的查询_id
吗?
这将返回 0 条记录:
my_collection.find(
{
'_id': {
'my_string': 'Foo',
'$and': [
{'my_time': {'$gte': datetime.datetime(...)}},
{'my_time': {'$lte': datetime.datetime(...)}},
]
}
}
)
这也是这样:
my_collection.find(
{'$and': [
{'_id':
{
'my_string': "Foo"
'my_time': {'$lte': datetime.datetime(...)}
}
},
{'_id':
{
'my_string': "Foo",
'my_time': {'$gte': datetime.datetime(...)}
}
},
]
}
以防你没有注意到,当谈到 MongoDB 时,我是一个真正的新手。
先感谢您!