【发布时间】:2012-08-25 16:47:03
【问题描述】:
MongoDB 有一个新的Aggregation Framework,我正在尝试弄清楚如何将它与 Mongoid 一起使用。正如here 所讨论的,似乎有一个具有此功能的 Moped 分支。我已经更新到 MongoDB 2.2 并尝试在我的应用程序上安装这个 Moped 分支,如下所示:
gem '轻便摩托车',git:'git://github.com/mongoid/moped.git',分支: '聚合支持'
但聚合仍然无法正常工作。这是我用来测试它的调用:
= Post.all.aggregate({ "$group" => { "_id" => "$_id" } })
更新
在 mongo shell 中这可以工作:
db.users.aggregate({ $group : { _id : "$_id" }})
所以我认为这是一个 Mongoid 问题...任何关于此的词都会很棒!
【问题讨论】:
-
是不是因为在外壳上您正在访问用户集合而在 Mongoid 中访问帖子集合? ^^
-
你试过 Post.collection.aggregate("$group" => { "_id" => "$_id" }) 吗?
-
@neon 您是否获得了使用该分支与 moped 和 mongoid 一起使用的聚合框架,并且您想用解决方案更新您的问题。
-
您的更新中似乎缺少聚合功能?您是否要求和,找到最小值或最大值或什么?无论如何,在 Mongoid 3.0.x 中,聚合方法“avg”、“max”、“min”和“sum”都记录在这里:mongoid.org/en/mongoid/docs/querying.html#aggregations
标签: ruby-on-rails mongodb mongoid aggregation-framework