我有以下代码。
collection.aggregate( [
{ "$project": {
"Coordinates": 1,
"Time": 1,
"Name": 1,
"minutes": { "$add": [
{ "$multiply": [ { "$hour": '$Time' }, 60 ] },
{ "$minute": '$Time' }
] }
} },
{ "$match": { 'minutes' : { "$gt" : 00 * 60, "$lt" : 6 * 60 } } },
{"$group":{"_id": { "Name":"$Name","Coordinates":'$Coordinates' },
"Sum": { "$sum": 1} }},
{"$group":{"_id":"$_id.Name","LatLong": {
"$push": {
"Coordinates": "$_id.Coordinates",
"Count" : "$Sum"
}}
}},
{"$project": { "Name":"$_id","_id":0,"LatLong": 1}}
] )
这是文档的外观。
{
_id" : "f865554a-e3c1-497a-a0a3-c261ee75b917",
"Name" : "Sam",
"Time" : ISODate("2016-01-01T01:50:26.420+0000"),
"Coordinates" : [
13.9830857,
49.7341339
]
}
我收到以下错误
无法从BSON类型EOO转换为日期
什么是EOO类型,为什么我会收到此错误? 我做了以下检查:
db.collection.count({"Time":{$type:9}})
所有这些都是Date类型。 (通过检查该数字是否等于文件总数。)
编辑:还有一件我意识到的事情。如果我在mongodb上运行相同的查询,它会成功运行。那么为什么当我在pymongo中运行它时会给我这个错误?我正在运行MongoDB版本3.0.12和python版本2.7.10。