我从Mongodb Aggregation操作获得此异常:
无法从BSON类型字符串转换为日期(16006))。
我在同一主题上看到了其他问题,但我非常确定该字段" date"在以下代码中保存为日期类型字段。这是我想要做的:
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 :(得分:1)
在项目修复问题之前进行匹配。