加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-14 01:21:53 所属栏目:大数据 来源:网络整理
导读:1. 安装pymongo pip install pymongo 2. 写一个例子 #!/usr/bin/env python3#! coding:utf-8 -*-import pymongoimport timeclient = pymongo.MongoClient('localhost',27017)db = client.get_database('user-behavior-data')print(db.name)backend = db.get_

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!","date": datetime.datetime.utcnow()},{"数据类型": "test","text": "3 blog post!","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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读