can';t从BSON类型EOO转换为日期-适用于mongodb,但在pymongo中出现此错误
我有以下代码can';t从BSON类型EOO转换为日期-适用于mongodb,但在pymongo中出现此错误,mongodb,pymongo,Mongodb,Pymongo,我有以下代码 collection.aggregate( [ { "$project": { "Coordinates": 1, "Time": 1, "Name": 1, "minutes": { "$add": [ { "$multiply": [ { "$hour": '$Time' }, 60 ] }, { "
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版。您的计数查询应该是
count({“Time”:{$type:9}})
,因为Time
字段是聚合使用的字段。@AminJ-Yup。编辑它。我就是这么做的@SteveRossiter,我已经做了我问题中提到的检查。你能确认pymongo和mongodb版本吗?