python操作mongodb之五大量写操作
import pymongo
#库名
db = pymongo.MongoClient('192.168.30.252',27017).bulk_example
#test集合插入
db.test.insert_many([{'i':i} for i in xrange(10000)]).inserted_ids
db.test.count()
#有条理的大规模数据写入
bulk = db.test.initialize_ordered_bulk_op()
# Remove all documents from the previous example.
bulk.find({}).remove()
bulk.insert({'_id': 1})
bulk.insert({'_id': 2})
bulk.insert({'_id': 3})
#更新
bulk.find({'_id': 1}).update({'$set': {'foo': 'bar'}})
#插入替换
bulk.find({'_id': 4}).upsert().update({'$inc': {'j': 1}})
#替换
bulk.find({'j': 1}).replace_one({'j': 2})
#execute是执行
result = bulk.execute()
pprint(result) #存在异常 的处理
from pymongo.errors import BulkWriteError
#缓存队列
bulk=db.test.initialize_ordered_bulk_op()
#查找j=2 然后替换成j=5
bulk.find({'j': 2}).replace_one({'i': 5})
#插入id=4
bulk.insert({'_id':4})
bulk.find({'i':5}).remove_one()
try:
bulk.execute()
except BulkWriteError as bwe:
pprint(bwe.details) from pymongo.errors import BulkWriteError
bulk = db.test.initialize_unordered_bulk_op()
bulk.insert({'_id': 1})
bulk.find({'_id': 2}).remove_one()
bulk.insert({'_id': 3})
bulk.find({'_id': 4}).replace_one({'i': 1})
try:
bulk.execute()
except BulkWriteError as bwe:
pprint(bwe.details) #初始化队列
bulk = db.test.initialize_ordered_bulk_op()
bulk.insert({'a': 0})
bulk.insert({'a': 1})
bulk.insert({'a': 2})
bulk.insert({'a': 3})
try:
bulk.execute({'wtimeout': 1})
except BulkWriteError as bwe:
pprint(bwe.details)
python操作mongodb之五大量写操作的更多相关文章
- Python连接MongoDB数据库并执行操作
原文:https://blog.51cto.com/1767340368/2092813 环境设置: [root@mongodb ~]# cat /etc/redhat-release CentOS ...
- python数据库-mongoDB的高级查询操作(55)
一.MongoDB索引 为什么使用索引? 假设有一本书,你想看第六章第六节讲的是什么,你会怎么做,一般人肯定去看目录,找到这一节对应的页数,然后翻到这一页.这就是目录索引,帮助读者快速找到想要的章节. ...
- python 与 mongodb的交互--更新操作
这里只要讨论python与mongod交互的时候insert的问题: from pymongo import * def insert_func(): try: client_obj= MongoCl ...
- MongoDB—— 写操作 Core MongoDB Operations (CRUD)
MongoDB使用BSON文件存储在collection中,本文主要介绍MongoDB中的写操作和优化策略. 主要有三种写操作: Create Update ...
- python之协程与IO操作
协程 协程,又称微线程,纤程.英文名Coroutine. 协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用. 子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B ...
- NoSQL生态系统——事务机制,行锁,LSM,缓存多次写操作,RWN
13.2.4 事务机制 NoSQL系统通常注重性能和扩展性,而非事务机制. 传统的SQL数据库的事务通常都是支持ACID的强事务机制.要保证数据的一致性,通常多个事务是不可能交叉执行的,这样就导致了可 ...
- MongoDB学习比较-07 C#驱动操作MongoDB
下载驱动 驱动的下载有两种方式:一种是在C#项目中通过NuGet进行安装,另一种是通过下面的链接:https://github.com/mongodb/mongo-csharp-driver/rele ...
- [转]MongoDB学习 C#驱动操作MongoDB
下载驱动 驱动的下载有两种方式:一种是在C#项目中通过NuGet进行安装,另一种是通过下面的链接:https://github.com/mongodb/mongo-csharp-driver/rele ...
- MongoDB入门 和nodejs操作
简介 MongoDB 开源,高性能的NoSQL数据库:支持索引.集群.复制和故障转移.各种语言的驱动程序:高伸缩性: NoSQL毕竟还处于发展阶段,也有说它的各种问题的:http://coolshel ...
随机推荐
- Poj(2253),Dijkstra松弛条件的变形
题目链接:http://poj.org/problem?id=2253 题意: 给出两只青蛙的坐标A.B,和其他的n-2个坐标,任一两个坐标点间都是双向连通的.显然从A到B存在至少一条的通路,每一条通 ...
- HashMap原理详解
HashMap 概述 HashMap 是基于哈希表的 Map 接口的非同步实现.此实现提供所有可选的映射操作,并允许使用 null 值和 null 键.此类不保证映射的顺序,特别是它不保证该顺序恒久不 ...
- size函数
size是求第一维度的大小 size(2)是求第二维度的大小
- ADO,NET 实体类 和 数据访问类
啥也不说,看代码. --SQl中 --建立ren的数据库,插入一条信息 create database ren go use ren go create table xinxi ( code ) pr ...
- IIC,RS485,RS232各种协议手册更新中
RS485使用手册与指南.pdf RS232协议标准详解.pdf IIC通信协议.pdf 链接:http://pan.baidu.com/s/1ccBtmA 密码:mwj6 IIC,RS485,R ...
- number_format
number_format — 以千位分隔符方式格式化一个数字 说明 string number_format ( float $number [, int $decimals = 0 ] ) str ...
- java简单的页面制作
package 界面; import java.awt.*; import javax.swing.JFrame; import javax.swing.*; //import javax.swing ...
- Linux阵列 RAID详解
主要内容:(笔记总结--会不定时补充.修改,如有错误,欢迎指正探讨) 一. RAID详解 二. mdadm工具介绍 三. 创建一个RAID的基本过程 四. 磁盘阵列的管理 五. ...
- Hearthstone-Deck-Tracker项目的编译
https://github.com/HearthSim/Hearthstone-Deck-Tracker https://github.com/HearthSim/HearthDb https:// ...
- 折半查找&clock函数
#include <stdio.h>#include <time.h> #define CLOCKS_PER_SEC ((clock_t)1000) int binsearch ...