pymongo"匹配"没有过滤掉正确的日期

时间:2016-04-01 17:49:39

标签: mongodb pymongo

我编写了一个返回特定日期内数据的查询(在本例中为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的内容。我没有正确设置我的匹配吗?

1 个答案:

答案 0 :(得分:0)

原来我正在查询另一个$ time字段(needed_field内的另一个时间,$match正在使用的那个