4

正常に動作する MongoDB シェル コマンドがあります。コマンドは次のとおりです。

db.sessions.aggregate({$unwind: "$Sessions List"}, 
{$match: { "Sessions List.Parent Session":"My Session"}}, 
{$group:{_id:"$Sessions List.Parent Session", avg_val:{$avg:"$Sessions List.Length"}}})

結果は: "結果":

[{
   "_id" : "My Session",
   "avg_val" : 8.846666666666666
}],
"ok" : 1

しかし、Mongoid (最新の利用可能な Mongoid、Origin、Moped を使用) で実行しようとすると、 NoMethodError (undefined method__ bson_load__' for nil:NilClass)` 例外で失敗します。

Rubyコードは次のとおりです。

Session.collection.aggregate({
'$unwind' => '$Sessions List',
'$match' => { 'Sessions List.Parent Session' => 'My Session'},
'$group' => {
'_id' => '$Sessions List.Parent Session',
'avg_val' => {
'$avg' => '$Sessions List.Length'
}}});
4

0 に答える 0