Rails アプリの ORM として Mongoid を使用していますが、グループ化の問題が 1 つあります。コレクション/モデルは基本的にタイムスタンプ付きのトランザクション ログであり、タイムスタンプの日付部分に基づいてグループ化を行いたいと考えています。
モデルは次のようになります。
class Bounty
include Mongoid::Document
field :ts, type: Time
field :char_id, type: Integer
field :bounty, type: Integer
index({ ts: 1, char_id: 1 }, { unique: true })
end
...そして、私が探しているグループ化は次のようになります:
SELECT CAST(ts as date), char_id, sum(bounty) from bounties group by CAST(ts as date), char_id;
これまでのところ、グループ/合計の問題のほとんどを集計で解決できましたが、この場合、その方法がわかりません。