Ruby操作MongoDB(进阶九)-批量操作Bulk Operations
发布时间
阅读量:
阅读量
本文将深入剖析批量操作的核心知识。具体涉及insert\_one、insert\_many、delete\_one、delete\_many、replace\_one、update\_one以及update\_many七个功能模块。
批量提交的API在一次方法调用中会被服务器接收一个操作序列。当您设置ordered参数时,从而保证操作执行的顺序。
批量设置方法有三个参数:第一是一个操作列表项;第二是布尔类型的有序参数,默认设置为true;第三个是相关配置参数,默认设置为集合形式的配置。
下面展示的是有效的写操作:
insert_one方法
{:insert_one=>{:x=>1}}
代码解释
2. insert_many方法
{:insert_many=>[{:x=>1},{:x=>2}]}
代码解释
3. delete_one方法
{:delete_one=>{:filter=>{:x=>1}}}
代码解释
4. delete_many方法
{:delete_many=>{:filter=>{:x=>1}}}
代码解释
5. replace_one方法
{:replace_one=>{:filter=>{:x=>1}},
:replacement={:x=>2},
:upsert=>true #可选参数,默认为false
}
代码解释
6. update_one方法
{:update_one=>{:filter=>{:x=>1},
:update=>{'$set'=>{:x=>2}},
:upsert=>true}}
代码解释
7. update_many方法
{:update_many=>{:filter=>{:x=>1},
:update=>{'$set'=>{:x=>2}},
:upsert=>true}}
代码解释
下面的实例展示的是如何将操作传递到批量写入方法中
coll=client['documents']
coll.bulk_write([{:insert_one=>{:x=>1}},
{:update_one=>{:filter=>{:x=>1},
:update=>{'$set'=>{:x=>2}}}
},
{:replace_one=>{:filter=>{:x=>2},
:replacement=>{:x=>3}
}}
],:order=>true)
代码解释
批量操作的学习到此结束
全部评论 (0)
还没有任何评论哟~
