Moped :: Errors :: OperationFailure失败,错误"没有这样的cmd

Muh*_*ary 8 ruby-on-rails mongodb mongoid ruby-on-rails-3.2 moped

我最近使用rails 3.2.12和ruby 1.9.3从mongoid 2.0.2升级到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'
Run Code Online (Sandbox Code Playgroud)

Asy*_*sky 1

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

如果您指向无法识别“aggregate”命令的较旧 MongoDB 服务器,那么您将会收到此错误。

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