我在下面的愚蠢简单的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)
答案 0 :(得分:1)
MongoDB ruby驱动程序没有update
方法,有update_one
或update_many
。
在您的情况下,您似乎正在尝试更新所有内容:
client[:items].update_many({ :id => item['_id'] }, item2)
请参阅文档here