更新从moped :: colllection中删除 - NoMethodError:#l.Moped :: Collection的未定义方法`update'

the*_*eme 2 mongodb mongoid ruby-on-rails-3 moped

我是mongodb&mongoid的新手..这是一个在某些pont上的mongoid 2上的rails应用程序,后来转移到了mongoid 3

我正在尝试运行迁移,其中一个具有以下内容

Assessment.collection.update({'result_access' => {'$exist' => false}}, {'$set' =>   {'result_access' => 'all'}}, {:multi => true})
Run Code Online (Sandbox Code Playgroud)

我不确定如何为mongoid 3更新这个

bil*_*mad 6

首先,您必须找到您的选择器,然后重新编写您的代码

Assessment.collection.update({'result_access' => {'$exist' => false}}, {'$set' =>   {'result_access' => 'all'}}, {:multi => true})
Run Code Online (Sandbox Code Playgroud)

Assessment.collection.find('result_access' => {'$exist' => false}).update({'$set' =>   {'result_access' => 'all'}, {:multi => true})
Run Code Online (Sandbox Code Playgroud)

或者更一般:

Assessment.collection.find("yourSelector").update("thingsToUpdate")
Run Code Online (Sandbox Code Playgroud)