如何使用mongoid实现无序批量操作?mongo_unordered_bulk_write
bulk = coll.initialize_unordered_bulk_op
bulk.insert({'_id' => 1})
bulk.insert({'_id' => 1}) # duplicate key
bulk.insert({'_id' => 3})
bulk.insert({'_id' => 3}) # duplicate key
bulk.execute发布于 2016-03-20 20:21:08
Mongoid类有一个.collection访问器,它允许从核心驱动程序访问Collection对象:
bulk = Class.collection.initialize_unordered_bulk_op诸若此类。
但在现代驱动程序中,通常首选使用更一致的bulk_write()方法和标准对象数组:
ops = [];
ops.push({ "insert_one" => { "_id" => 1 } })
ops.push({ "insert_one" => { "_id" => 1 } })
ops.push({ "insert_one" => { "_id" => 3 } })
ops.push({ "insert_one" => { "_id" => 3 } })
Class.collection.bulk_write(ops,{ "ordered" => false })或者甚至是insert_many(),如果你只是做插入操作,而不是混合类型的写操作:
Class.collection.insert_many([
{ "_id" => 1 },
{ "_id" => 1 },
{ "_id" => 3 },
{ "_id" => 3 }
],{ "ordered" => false })https://stackoverflow.com/questions/36112454
复制相似问题