资源描述:
《python操作mongodb数据库》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、python操作MongoDB数据库一、MongoDB数据库操作1.连接数据库importpymongoconn=pymongo.Connection()#连接本机数据库#conn=pymongo.Connection(host="192.168.1.202")#连接指定IP的数据库db=conn.test#进入指定名称的数据库users=db.users#获取数据库里的users集合users=db['users']#获取数据库里的users集合,也可以用字典来获取2.插入u=dict(name="user1",age=23)#db.users.save(u)#用save也可
2、以插入,返回新增的主键值db.users.insert(u)#将数据插入到users集合,返回新增的主键值3.更新#更新指定一条记录u2=db.users.find_one({"name":"user9"})u2['age']+=3db.users.save(u2)#返回更新的主键值#更新多条记录,返回Nonedb.users.update({"name":"user1"},{"$set":{"age":100,"sex":0}})#updateuserssetage=100,sex=0wherename='user1'db.users.update({},{"$inc":{"
3、age":10}},multi=True)#updateuserssetage=age+10db.users.update({"name":"user1"},{"$inc":{"age":10},"$set":{"sex":1}})#updateuserssetage=age+10,sex=1wherename='user1'#update()有几个参数需要注意:db.集合名.update(criteria,objNew,upsert,mult)criteria:需要被更新的条件表达式objNew:更新表达式upsert:如目标记录不存在,是否插入新文档。multi:是否更新多
4、个文档。4.删除db.users.drop()#删除集合#remove()用于删除单个或全部文档,删除后的文档无法恢复。id=db.users.find_one({"name":"user2"})["_id"]db.users.remove(id)#根据id删除一条记录db.users.remove()#删除集合里的所有记录db.users.remove({'yy':5})#删除yy=5的记录5.查询#查询age小于15的foruindb.users.find({"age":{"$lt":15}}):printu5.1查询一条记录#查询name等于user8的foruindb.
5、users.find({"name":"user8"}):printu#获取查询的一个u2=db.users.find_one({"name":"user9"})#查不到时返回Noneprintu25.2查询特定键(fields)#selectname,agefromuserswhereage=21foruindb.users.find({"age":21},["name","age"]):printuforuindb.users.find(fields=["name","age"]):printu5.3排序(SORT)pymongo.ASCENDING#也可以用1来代替pym
6、ongo.DESCENDING#也可以用-1来代替foruindb.users.find().sort([("age",pymongo.ASCENDING)]):printu#select*from集合名orderby键1foruindb.users.find().sort([("age",pymongo.DESCENDING)]):printu#select*from集合名orderby键1descforuindb.users.find().sort([("键1",pymongo.ASCENDING),("键2",pymongo.DESCENDING)]):printu#se
7、lect*from集合名orderby键1asc,键2descforuindb.users.find(sort=[("键1",pymongo.ASCENDING),("键2",pymongo.DESCENDING)]):printu#sort的另一种写法foruindb.users.find({"name":"user9"},sort=[['name',1],['sex',1]],fields=["name","age",'sex']):printu#组合写法5.4从第几行开始读取(SLIC