【发布时间】:2021-10-09 01:15:57
【问题描述】:
我想知道如何在collection.aggregate的响应中添加额外的字段?
下面的查询按 user_id 对活动进行分组。而且我想知道如何在响应中包含 user_name。
数据库模型
class Activity
include Mongoid::Document
field :hd_race_id, type: Float
field :metric_elapsed_time, type: Float
field :metric_distance, type: Float
field :user_name, type: String
belongs_to :user
...
class User
include Mongoid::Document
field :user_name, type: String
has_many :activities
...
查询
Activity.collection.aggregate([
{
"$group" => {
"_id" => "$user_id",
"distance" => { "$sum" => "$metric_distance" },
"time" => { "$sum" => "$metric_elapsed_time" },
},
},
{ "$sort" => { "distance" => -1 } },
])
提前谢谢你
【问题讨论】:
标签: ruby-on-rails ruby mongodb mongoid