2017-04-26 106 views
1

我从MongoDB的聚合操作得到此异常:MongoDB的:不能从BSON String类型转换为Date(16006)

不能从BSON String类型转换为Date(16006))。

我看到关于同一主题的其他问题,但我非常确定在下面的代码中的字段“日期”保存为日期类型字段。这里是我想要做的事:

db.schemes.aggregate([ 
    {"$project": { 
     date_day: {$dayOfMonth: "$date"}, 
     date_month: {$month: "$date"}, 
     date_year: {$year: "$date"}, 
     net_asset: "$net_asset" 
    }}, 
    {"$match": {scheme_code: "ABC"}}, 
    {$group: { 
    _id: { 
     date_month: "$date_month", 
     date_year: "$date_year"}, 
     net_asset: {$first: "$net_asset"}, 
     day_date: {$first: "$date_day"} 
    } 
    } 
]) 

这里是一个示例文件:

db.schemes.findOne() 
{ 
    "_id": ObjectId("586a87d5ab0de166ea000001"), 
    "scheme_code": "H01", 
    "scheme_name": "ABC", 
    "date": ISODate("2016-12-28T00:00:00Z"), 
    "net_asset": 48.452, 
    "updated_at": ISODate("2017-01-02T17:03:17.264Z"), 
    "created_at": ISODate("2017-01-02T17:03:17.264Z") 
} 

同时请注意,所以它的东西不一样,如果最后一组操作被删除发生错误这样做。

任何关于如何去调试这一个指针,将不胜感激。

谢谢。

+0

Hi Ishu;我可以提出两项要求吗?你能否在mongo shell中发布一个等效聚合的例子?对于非rails用户来说,这会更容易理解。其次,你能发表一个你正在聚合的文档的例子,让每个人都确定地看到这些字段和数据类型是什么? –

+0

Hi @VinceBowdren刚刚添加了Mongo Reference。另外请注意,如果我删除最后一个组操作员,一切运行良好。但是,团队对我的要求非常重要。稍后编辑示例文档的帖子。 – Ishu

回答

1

在项目解决问题之前进行配售匹配。

相关问题