[bigdata-020]用python3+pymogo 操作 mongodb数据库

原创 2017年01月03日 17:46:12

1. 安装pymongo

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)


相关文章推荐

mongodb数据库命令操作

mongodb不像关系型数据库有很强大的GUI客户端,虽然mongodb也有,但功能和稳定性实在不敢恭维,所以操作mongodb我们大部分都是用类似cmd命令的方式(mongodb称为shell操作)...
  • han_cui
  • han_cui
  • 2017年01月09日 07:38
  • 81

python3 [爬虫入门实战]爬虫之mongoDB数据库的安装配置与可视化

1 mongodb数据库的安装与配置 2 mongodb可视化工作 3 mongodb在python3中的简单应用

mongodb数据库的基本操作

  • 2014年06月14日 16:07
  • 2.03MB
  • 下载

java操作MongoDB数据库代码实例

  • 2014年04月01日 17:07
  • 2.65MB
  • 下载

[bigdata-83] python3+图数据库neo4j 电话号码 身份证 黑名单 创建节点 标签 关系 增标记 增关系 查询pattern示例

#!/usr/bin/env python3 #!-*- coding:utf-8 -*- from neo4j.v1 import GraphDatabase uri = "bolt://ttt...

直接操作mongodb数据库的jar包

  • 2015年02月02日 09:54
  • 5KB
  • 下载

java操作MongoDB数据库

1、如何启动MongoDB数据库? 如图所示:安装好MongoDB之后,文件夹显示如下: MongoDB默认开启27017端口,打开浏览器,输入http://localhost:27017...

mongoDB数据库CURD操作,配有界面

  • 2013年12月02日 17:10
  • 5.11MB
  • 下载

Mongodb数据库JAVA操作例子

  • 2013年03月25日 16:53
  • 353KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[bigdata-020]用python3+pymogo 操作 mongodb数据库
举报原因:
原因补充:

(最多只允许输入30个字)