
本篇文章主要讲解批量操作的相关常识。主要会讲解下面的方式的使用insert_one,insert_many,delete_one,delete_many,replace_one,update_one,update_many七个方法。
批量写入的API在一次手段调用中会想服务器发送一个操作的列表。如果你设置了ordered参数,就可以保证你传递的操作的执行顺序。
批量写方式有三个参数:第一是一个操作列表,第二是boolean类型的ordered参数mongodb批量insert,默认值是true;第三个是写相关参数mongodb批量insert,默认为集合写相关。
下面展示的是有效的写操作:

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)
批量操作的学习到此结束
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-140937-1.html