我编写了一个返回特定日期内数据的查询(在本例中为3/14),但结果返回的内容最多为3/29(3/14中没有任何内容)
我的match
是{'$lte': datetime.datetime(2016, 3, 14, 23, 59, 59, 999, tzinfo=tzutc()), '$gt': datetime.datetime(2016, 3, 14, 0, 0, tzinfo=tzutc())}
,它只获取日期内的数据,而我的查询命令是
{'$match': match},
{'$unwind': '$'+needed_field},
{'$group': {
"_id":{
"date":{
"$concat": [
{"$substr": [{"$year": "$time"}, 0, 4 ]},
"-",
{"$substr": [{"$month": "$time"}, 0, 2 ]},
"-",
{"$substr": [{"$dayOfMonth": "$time"}, 0, 2 ]},
]
},
"state":"$needed_field.state"
},
"count":{"$sum": 1}}
}]
(有点凌乱,对不起)
由于某种原因,此查询会返回高达3/29的内容。我没有正确设置我的匹配吗?
答案 0 :(得分:0)
原来我正在查询另一个$ time字段(needed_field
内的另一个时间,$match
正在使用的那个