3

我在使用聚合的 MongoDB rub​​y​​ 驱动程序(通过 mongoid)时遇到问题。

我想使用比较运算符匹配日期。

match = { '$match' => { 'created_at' => { '$gte' => DateTime.parse('2012-08-01') } } }
group = { '$group' => { '_id' => 'foo' } }
MyModel.collection.aggregate([match, group])

我不知道在日期的第一行放什么。上面写的代码会给我一个undefined method __bson_dump__ for DateTime异常。使用字符串似乎也不起作用。

欢迎任何建议。MongoID 的内置方法为我提供了选择所需的内容,而不是分组所需的内容。

4

2 回答 2

2

想通了,使用一个Time对象而不是DateTime

match = { '$match' => { 'created_at' => { '$gte' => Time.parse('2012-08-01') } } }
于 2013-09-17T19:38:17.480 回答
-2

试试这个。

h = { '$match' => { 'created_at' => { '$gte' => new Date("2012/08/01") } } }
于 2013-09-17T19:23:08.803 回答