看起来好像有一段时间我一直把我的小数存储为字符串.这是一个问题,因为我需要开始使用聚合框架来执行一些计算.
有没有办法在我的集合中遍历每个文档并检查每个值isNaN,如果为false,则将其存储parseFloat
我在mongo集合(datacollection)中有以下数据:
{
"_id": ObjectId("54980efef7db7d9b018d375b"),
"sub_id": "1234567890",
"points": "10",
"oid": "1",
"name": "test",
"app": "e53abc6d12fea63c80e4c2e1d49e",
"source": "mysource",
"product_name": "browser",
"added": ISODate("2014-12-22T12:30:54.618Z"),
"added_human": "2014-12-22 06:30:54",
"checked": true
}
Run Code Online (Sandbox Code Playgroud)
我实际上需要找出按日期分组的点数之和.SQL查询将如下所示:SELECT DATE(已添加)为point_date,SUM(points)AS total_points FROM mytable WHERE在'from'AND'与'GROUP BY DATE(已添加)之间添加.
所以我使用以下聚合:
db.datacollection.aggregate(
{
$match:{
"added" : {$gte:ISODate("2014-12-01"), $lt:ISODate("2014-12-25")},
"source":"mysource"
},
$group : {
"_id" : { month: { $month: "$added" }, day: { $dayOfMonth: "$added" }, year: { $year: "$added" } },
"total_points":{$sum:"$points"}
}
}
);
Run Code Online (Sandbox Code Playgroud)
但这显示出来了
"errmsg" : "exception: A pipeline stage specification object must …Run Code Online (Sandbox Code Playgroud)