mongo group by with datetime string

时间:2011-03-26 03:16:19

标签: mongodb

我有以下数据:

"request_time" : "Fri Mar 25 2011 17:14:53 GMT-0400 (EDT)"

使用以下查询

db.production.group({key:{"request_time.d": true},cond:{"action":"forward"},initial:{sum:0},reduce:function(doc,prev) {prev.sum += 1}})  

出于某种原因,我的回复是空的。它没有区分我从MongoDB Docs中获取的“.d”符号。谁能告诉我为什么?

这是在Ubuntu 10.10上的mongo shell中测试的。

1 个答案:

答案 0 :(得分:0)

您的“request_time”键只有一个字符串作为值。

如果您指的是mongoDB docs示例

{ domain: "www.mongodb.org" , invoked_at: {d:"2009-11-03", t:"17:14:05"} , response_time: 0.05 , http_action: "GET /display/DOCS/Aggregation" }

db.test.group( { cond: {"invoked_at.d": {$gte: "2009-11", $lt: "2009-12"}} ....

然后请注意,在上面的代码中,“invoked_at”将map作为值,而map又有两个字段--d和t。