8

我最近从 mongoid 2.0.2 升级到带有 rails 3.2.12 和 ruby​​ 1.9.3 的 mongoid 3。

Following issue comes when save command excutes => @new_node.save


  Moped::Errors::OperationFailure (The operation: #<Moped::Protocol::Command
      @length=366
      @request_id=30
      @response_to=0
      @op_code=2004
      @flags=[:slave_ok]
      @full_collection_name="campus_dev.$cmd"
      @skip=0
      @limit=-1
      @selector={:aggregate=>"nodes", :pipeline=>[{"$match"=>{"parent_id"=>"51382df8851d1912b7000009", "_id"=>{"$ne"=>"513f24952f1feda4bc000002"}, "position"=>{"$nin"=>[nil]}}}, {"$group"=>{"_id"=>"position", "count"=>{"$sum"=>1}, "max"=>{"$max"=>"$position"}, "min"=>{"$min"=>"$position"}, "sum"=>{"$sum"=>"$position"}, "avg"=>{"$avg"=>"$position"}}}]}
      @fields=nil>
    failed with error "no such cmd"):
      app/controllers/nodes_controller.rb:37:in `create'
4

1 回答 1

1

您没有提到将 MongoDB 版本升级到最新版本(当时)。

如果您指向一个无法识别“聚合”命令的旧 MongoDB 服务器,那么您会得到这个错误。

所有类似错误的实例似乎都指向较旧的mongod进程。

于 2015-09-09T23:03:13.450 回答