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
點擊查看更多內(nèi)容
5人點贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦