Mongo / Ruby未定义方法`update'对于Mongo :: Collection

时间:2015-11-01 18:55:14

标签: ruby mongodb

我在下面的愚蠢简单的ruby / mongo代码中遇到了一个问题:

require 'mongo'

client = Mongo::Client.new(['127.0.0.1:27017'], database: 'dbs')
items = client[:items].find('issues.category': 'general')

items.each do |item|
  item2 = item
  client[:items].update({ '_id': item['_id'] } , item2)
end

我得到undefined method "update" for #<Mongo::Collection:0x4544580 namespace=dbs.items> (NoMethodError)

1 个答案:

答案 0 :(得分:1)

MongoDB rub​​y​​驱动程序没有update方法,有update_oneupdate_many

在您的情况下,您似乎正在尝试更新所有内容:

client[:items].update_many({ :id => item['_id'] }, item2)

请参阅文档here