首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mongoid批量操作- initialize_unordered_bulk_op

mongoid批量操作- initialize_unordered_bulk_op
EN

Stack Overflow用户
提问于 2016-03-20 18:10:22
回答 1查看 550关注 0票数 0

如何使用mongoid实现无序批量操作?mongo_unordered_bulk_write

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2016-03-20 20:21:08

Mongoid类有一个.collection访问器,它允许从核心驱动程序访问Collection对象:

代码语言:javascript
复制
bulk = Class.collection.initialize_unordered_bulk_op

诸若此类。

但在现代驱动程序中,通常首选使用更一致的bulk_write()方法和标准对象数组:

代码语言:javascript
复制
 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(),如果你只是做插入操作,而不是混合类型的写操作:

代码语言:javascript
复制
 Class.collection.insert_many([
     { "_id" => 1 },
     { "_id" => 1 },
     { "_id" => 3 },
     { "_id" => 3 }
 ],{ "ordered" => false })
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36112454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档