MongoDB:无法从BSON类型字符串转换为日期(16006)

时间:2017-04-26 09:48:55

标签: mongodb date

我从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")
}

另请注意,如果删除了最后一个组操作符,则不会发生错误,因此它与此有关。

任何关于如何调试这个的指示都将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:1)

在项目修复问题之前进行匹配。