我试图使用聚合框架(使用
ruby)并且像这样预定日期:
db['requests'].aggregate([ {"$project" => { _id: 0,method: '$method',user: '$user',year: {'$year' => '$timestamp'} }}])
文件就像这样:
{ _id: ObjectId("5177d7d7df26358289da7dfd"),timestamp: ISODate("2013-04-12T03:58:05+00:00"),method: "POST",status: "200",inputsize: "874",outputsize: "4981",user: "131" }
但我收到以下错误:
Mongo::OperationFailure: Database command 'aggregate' Failed: (errmsg: 'exception: can't convert from BSON type EOO to Date'; code: '16006'; ok: '0.0').
这是奇怪的,因为如果我在与mongorestore导入的完全相同的数据库上运行它,它可以正常工作.
解决方法
问题是我正在保存一些没有时间戳字段的文档.