1.安装pymongo:
python不能直接操作MongoDB,而是通过pymongo插件来实现对数据库的操作的,所以第一步要做的就是安装pymongo插件,安装过程其实非常简单,直接在终端中输入一下指令:
- pip install pymongo
- #encoding:utf-8
- from pymongo import MongoClient
- con = MongoClient('localhost', 27017) #连接到数据库
- db = con.local #获取数据库
- collect = db.test #获取数据库中的一个Collection
- abc={'name':'lzy'} #创建一个key-value格式的数据
- collect.insert(abc) #将上面创建的数据存入数据库
con为创建一个连接,db为所连接数据库,也可写为:db=con['local'],collect为所连接的聚集,也可写为:collect=db['test']。
上述代码完成了将一个key为name,value为lzy的的数据插入到local 数据库 ( 集合 )中的test 文档(聚集) 中,可以在Robomongo中查看插入后的结果:
那么,数据库的几个基本操作:增、删、改和查在python中通过pymongo的实现代码分别如下:
增:abc={'name':'lzy'} #创建一个key-value格式的数据
或者一次插入多个key-value:abc={'name':'lsh','age':2}
collect.insert(abc)
删:abc={'name':'lzy'}
collect.remove(abc) #删除指定一条数据
collect.remove() #删除此文档的全部数据
改:p = {'name':'lzy'}
a={'name':'ash'}
collect.update( p,{"$set":a}) #将原来数据库的数据p替换为新的数据a
查:
a.查询当前集合(假设以local为例)中所有文档的名称:db.collection_names()
b.查询当前文档的名称:collect.name
c.查询聚集的一条记录:collect.find_one()或者collect.find_one({'name':'lsh'}),假如不存在则返回None
d.查询聚集的字段:collect.find_one({},{'name':1,'age':1})
e.遍历聚集:
for item in collect.find():
item
或者是:
for item in collect.find():
item['name'] #获取此key对应的value
f.查询结果统计:collect.find().count()或者collect.find_one({'name':'lsh'}).count()
g.查询结果排序:
collect.find().sort('age') #默认排序
collect.find().sort('age',pymongo.ASCENDING) #升序
collect.find().sort('age',pymongo.DESCENDING) #降序
此外,查询结果还可以多列排序:
collect.find().sort('age',pymongo.ASCENDING,'age',pymongo.DESCENDING)