【MongoDB】python操作MongoDB

一、模块的准备

1.1模块的安装

pip3 install pymongo

1.2可能用到的相关模块

from bson import ObjectId
from pymongo import MongoClient
from pymongo.cursor import Cursor

1.3数据库的连接

m_client = MongoClient("127.0.0.1",27017)

mdb = m_client["nbsu"]#连接数据库,如果指定的数据库不存在,会自动创建一个

二、用python操作 MogoDb 的增删改查操作

2.1 增

res =mdb.info.insert([{'name':'小铭同学'},{'name':'小雪'}])
print(res) #[ObjectId('5d2f1d3741ea8971fc7ec48d'), ObjectId('5d2f1d3741ea8971fc7ec48e')]
res =mdb.info.insert_one({'name':'小铭同学'})
print(res.inserted_id)#5d2f1dd0203c698a3a809f55
res =mdb.info.insert_many([{'name':'小铭同学'},{'name':'小雪'}])
print(res.inserted_ids) #[ObjectId('5d2f1dd0203c698a3a809f56'), ObjectId('5d2f1dd0203c698a3a809f57')]

2.2删

res = mdb.info.delete_one({'name':'小雪'})

2.3改

res = mdb.info.update_one({'name':'小铭同学'},{'$set':{"name":"hh"}})
# print(res.modified_count) #1
user = mdb.info.find_one({'name':'小雪'})
user['age'] =19
user['hobby'] ='读书'
# res= mdb.info.update_one({'name':'hh'},{'$set':user})
print(user)
res= mdb.info.update_one({'name':'小雪'},{'$set':{'hobby':user.get('hobby')}})

2.4查

res =list(mdb.info.find())
print(res)  #[{'_id': ObjectId('5d2f1c8d8c31a48691fbe63d'), 'name': '小铭同学'}, {'_id': ObjectId('5d2f1c8d8c31a48691fbe63e'), 'name': '小雪'}]
#序列化的过程
for user in res:
    user["_id"] = str(user.get("_id"))
res_json = json.dumps(res)

三、排序及分页

res =mdb.info.find() 
# res_list =list(res.sort('age',pymongo.DESCENDING))
# res_list =list(res.sort('age',pymongo.DESCENDING).limit(3))
res_list =list(res.sort('age',pymongo.DESCENDING).skip(2))
for s in res_list:
     print(s)


# 分页
res = list(res.sort("age",pymongo.ASCENDING).limit(2).skip(4))
print(res)
posted @ 2019-07-17 22:02  与凯学习  阅读(532)  评论(0编辑  收藏  举报