为了账号安全,请及时绑定邮箱和手机立即绑定

「自动化实战」python对mongodb的CURD介绍

mongodb是一个nosql数据库,无结构化、和去中心化。

python是一门优雅而且健壮的语言。

python使用mongo,也被很多场景中会用到,幕客最近在作一个后台系统,其中:

日志的记录,用户分析就用到了mongo这个数据库来作。
图片描述
那为什么要用mongo来存呢?

首先、数据关系复杂,没有表连接,结构化弱。

然后、利用mongo全文索引查找方便

最好、数据不重要,记录的日志数据库。意外丢失风险可以接受。

说了这么多,接下来幕客先给大家说说对mongo的CURD,如下:

一、安装mongo的支持

sudo /opt/python2.7.13/bin/pip install pymongo

二、简单操作

1) 数据库实例创建

In [1]: import pymongo

In [2]: pymongo.MongoClient('192.168.8.237',27017)

Out[2]: MongoClient(host=['192.168.8.237:27017'], document_class=dict, tz_aware=False, connect=True)

In [3]: mgc = pymongo.MongoClient('192.168.8.237',27017)

2)插入数据

In [4]: db = mgc['iops'] 
In [10]: col.insert_one(content)
Out[10]: <pymongo.results.InsertOneResult at 0x104907e60>

3)数据查找,确认插入成功

> db.logrecord.find()

{ "_id" : ObjectId("5a27b65dfa121a84df126d8c"), "status" : "success", "stepid" : 2, "stepinfo" : "ok! finished", "taskid" : 23432 }

4)直接通过python的对象获取内容

In [12]: col.find_one()

Out[12]:

{u'_id': ObjectId('5a27b65dfa121a84df126d8c'),

u'status': u'success',

u'stepid': 2,

u'stepinfo': u'ok! finished',

u'taskid': 23432}

(5) 通过查询条件查询

查询成功的内容

In [13]: col.find_one({'status':'success'})
Out[13]:
{u'_id': ObjectId('5a27b65dfa121a84df126d8c'),
u'status': u'success',
u'stepid': 2,
u'stepinfo': u'ok! finished',
u'taskid': 23432}

(6) 更新数据

col.update_one({"stepid":2},{"$set":{"stepid":3}})

(7) 获取所有的集合

相当于show tables获取集合操作

In [11]: db.collection_names()
Out[11]: [u'opts', u'logrecord']

图片描述
课程介绍:https://coding.imooc.com/class/160.html
课程问答区:https://coding.imooc.com/learn/qa/160.html

点击查看更多内容
5人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消