我在我的项目中将mongomapper
和mongo
驱动程序组合在一起。我不得不降级mongo
驱动程序的版本,因为mongomapper
取决于1.12.5
。不幸的是,update({search_hash}, {update_hash}, upsert: false)
我遇到了问题,因为如果搜索到的文档不存在,它会创建新文档。
此外,在文档中,未提供有关update
的可选参数的信息。
这是文档: http://api.mongodb.org/ruby/1.1.5/Mongo/Collection.html
这里有一些代码:
class MongoConnector
attr_reader :type, :collection
def initialize(db_params, type)
@type = type
db = Mongo::Connection.new(connection_uri[:host], connection_uri[:port])
@collection = db[db_params[:key]][db_params[:collection]]
end
def update(id, update_query)
collection.update({ _id: bson_id(id) }, update_query, upsert: false)
end
private
def bson_id(id)
BSON::ObjectId(id)
end
end