mongo driver upsert:false创建新文档

时间:2015-12-09 13:05:57

标签: ruby mongodb upsert

我在我的项目中将mongomappermongo驱动程序组合在一起。我不得不降级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

0 个答案:

没有答案