Moped::Errors::OperationFailure не удалось с ошибкой "нет такого cmd

Недавно я обновился с mongoid 2.0.2 до mongoid 3 с рельсами 3.2.12 и ruby ​​1.9.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'

1 ответ

Вы не упомянули также об обновлении версии MongoDB до последней (на тот момент).

Если бы вы указывали на старый сервер MongoDB, который не распознал команду "aggregate", то вы получите именно эту ошибку.

Все случаи подобных ошибок, кажется, указывают на более старых mongod процесс.

Другие вопросы по тегам