gpt4 book ai didi

ruby-on-rails - 与 Mongoid 聚合

转载 作者:IT老高 更新时间:2023-10-28 13:06:39 25 4
gpt4 key购买 nike

MongoDB 有一个新的 Aggregation Framework我正在尝试弄清楚如何将它与 Mongoid 一起使用。似乎有一个具有此功能的 Moped 分支,正如所讨论的 here .我已经更新到 MongoDB 2.2 并尝试在我的应用程序上安装这个 Moped 分支,如下所示:

gem 'moped', git: 'git://github.com/mongoid/moped.git', branch:'aggregation-support'

但聚合仍然无法正常工作。这是我用来测试它的调用:

= Post.all.aggregate({ "$group" => { "_id" => "$_id" } })

更新

在 mongo shell 中这可以工作:

db.users.aggregate({ $group : { _id : "$_id" }})

所以我认为这是一个 Mongoid 问题...任何关于此的词都会很棒!

最佳答案

自 3.0.1 起,Mongoid 需要 MongoDB 2.2 并支持新的聚合框架。

您现在可以在集合上调用 aggregate:

project = {"$project" => 
{
"charges" => 1,
"year" => { "$year" => "$created"}, "month" => { "$month" => "$created"},
"week" => { "$week" => "$created"}, "day" => { "$dayOfYear" => "$created"}
}
}
group = { "$group" =>
{ "_id" => {"year"=>"$year", "week"=>"$week"}, "count" => { "$sum" => 1 } }
}
Charge.collection.aggregate([project,group])

关于ruby-on-rails - 与 Mongoid 聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12205650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com