[bigdata-020]用python3+pymogo 操作 mongodb数据库
2017-01-03 17:46
429 查看
1. 安装pymongo
pip install pymongo
2. 写一个例子
3. 文档
http://api.mongodb.com/python/current/index.html https://docs.mongodb.com/getting-started/python/update/
4. 性能
10万条复杂记录插入时间是2.5s,每秒4万条。性能可观。如果记录是单key的,可以更快,每秒10万条。
5. 更多的操作示范
#!/usr/bin/env python3
# !-*- coding:utf-8 -*-
import pymongo
import datetime
mongo_client = pymongo.MongoClient('114.55.xxx.xx')
mongo_db = mongo_client['db1']
mongo_db.authenticate('user1', '384')
#房天下对应的collections
ftx_table = mongo_db['ftx_table']
#插入一条记录
post = {"数据类型": "test",
"text": "My 1 blog post!",
"tags": ["mongodb", "python", "pymongo"],
"date": datetime.datetime.utcnow()}
id = ftx_table.insert_one(post).inserted_id
print('插入一条记录:', id)
# 插入多条记录
posts = [
{"数据类型": "test",
"text": "My 2 blog post!",
"tags": ["mongodb", "python", "pymongo"],
"date": datetime.datetime.utcnow()},
{"数据类型": "test",
"text": "3 blog post!",
"tags": ["mongodb", "python", "pymongo"],
"date": datetime.datetime.utcnow()}
]
ret = ftx_table.insert_many(posts)
print('插入多条记录:', ret.inserted_ids)
#查询一条记录
ret = ftx_table.find_one({'数据类型':'test'})
print('查询到一条记录:', ret)
#查询多条记录
ret = ftx_table.find({'数据类型':'test'})
print('查询多条记录:')
for i in ret:
print(i)
#更新记录
ftx_table.update_one({'数据类型':'test'},
{
'$set':{'text':'update ok!'}
})
#删除记录
ret = ftx_table.delete_many({'数据类型':'test'})
print('删除记录数量:',ret.deleted_count)
pip install pymongo
2. 写一个例子
#!/usr/bin/env python3 #! coding:utf-8 -*- import pymongo import time client = pymongo.MongoClient('localhost', 27017) db = client.get_database('user-behavior-data') print(db.name) backend = db.get_collection('backend') backend.insert_one({"x":8}) backend.insert_many([{'y':15}, {'z':99}]) many_docs = [] for i in range(100000): doc = {} for t in 'abcdefghijklmnopqrstuvwxyz': doc[t] = i many_docs.append(doc) t1 = time.time() backend.insert_many(many_docs) dt = time.time() - t1 print(dt) client.close()
3. 文档
http://api.mongodb.com/python/current/index.html https://docs.mongodb.com/getting-started/python/update/
4. 性能
10万条复杂记录插入时间是2.5s,每秒4万条。性能可观。如果记录是单key的,可以更快,每秒10万条。
5. 更多的操作示范
#!/usr/bin/env python3
# !-*- coding:utf-8 -*-
import pymongo
import datetime
mongo_client = pymongo.MongoClient('114.55.xxx.xx')
mongo_db = mongo_client['db1']
mongo_db.authenticate('user1', '384')
#房天下对应的collections
ftx_table = mongo_db['ftx_table']
#插入一条记录
post = {"数据类型": "test",
"text": "My 1 blog post!",
"tags": ["mongodb", "python", "pymongo"],
"date": datetime.datetime.utcnow()}
id = ftx_table.insert_one(post).inserted_id
print('插入一条记录:', id)
# 插入多条记录
posts = [
{"数据类型": "test",
"text": "My 2 blog post!",
"tags": ["mongodb", "python", "pymongo"],
"date": datetime.datetime.utcnow()},
{"数据类型": "test",
"text": "3 blog post!",
"tags": ["mongodb", "python", "pymongo"],
"date": datetime.datetime.utcnow()}
]
ret = ftx_table.insert_many(posts)
print('插入多条记录:', ret.inserted_ids)
#查询一条记录
ret = ftx_table.find_one({'数据类型':'test'})
print('查询到一条记录:', ret)
#查询多条记录
ret = ftx_table.find({'数据类型':'test'})
print('查询多条记录:')
for i in ret:
print(i)
#更新记录
ftx_table.update_one({'数据类型':'test'},
{
'$set':{'text':'update ok!'}
})
#删除记录
ret = ftx_table.delete_many({'数据类型':'test'})
print('删除记录数量:',ret.deleted_count)
相关文章推荐
- python连接mongodb操作数据示例(mongodb数据库配置类)
- python操作MongoDB数据库
- Python学习笔记020——数据库基本操作
- Python常见MongoDB数据库操作实例总结
- Python操作mongodb数据库进行模糊查询操作示例
- python操作mongodb数据库
- Python操作MongoDB数据库 - pymongo库的基本用法
- Python操作MongoDB数据库的方法示例
- Python Web 6 —— Python操作MongoDB数据库
- [bigdata-55] python3 操作redis
- Python操作MongoDB数据库
- python连接操作mongodb数据库
- Python 操作MongoDB数据库
- python操作mongodb数据库
- Python操作MongoDB数据库
- python操作Mongodb数据库
- python操作MongoDB数据库
- python操作MongoDB数据库
- python数据存储系列教程——python中mongodb数据库操作:连接、增删查改、多级路径
- [bigdata-016] python happybase 操作hbase