pymongo操作MongoDB数据库

开始操作

  • 导包
import pymongo
  • 建立连接字符串:
mongo_conn = pymongo.MongoClient(host="127.0.0.1",port=27017) #建立连接
mongo_db = mongo_conn["ss1db"] #选取数据

增删改查

  • 查询
res = mongo_db.student.find({"name":"alex"}) #pymongo的Cursor对象需要循环
for i in res:
    print(i)

res = mongo_db.student.find_one({"age":25}) #返回的是一个Dict
print(res)

注意:查询_id等于5b7e0a6eaeb4a3336c0f9b71

from bson import ObjectId #必须使用ObjectId去查询_id
res = mongo_db.school.find_one({"_id":ObjectId("5b7e0a6eaeb4a3336c0f9b71")})
print(res)
  • 增加
res = mongo_db.student.insert_one({"name":"monicx","age":23})
print(res) #inserOneResult
print(res.inserted_id) # 当前插入对象的_id

res = mongo_db.student.insert_many([{"name":"monicx1","age":23},{"name":"monicx2","age":23}])
print(res) #inserManyResult
print(res.inserted_ids) # 当前插入所有对象的_id 是个list
  • 更新
res = mongo_db.student.update_one({"name":"monicx1"},{"$set":{"age":22}})
print(res) #UpdateResult
print(res.acknowledged) # True 更新成功

res = mongo_db.student.update_many({"age":30},{"$set":{"age":25}})
print(res) #UpdateResult
print(res.raw_result) # 受影响行数
print(res.acknowledged) # True 更新成功
  • 删除
res = mongo_db.student.delete_one({"name":"nezha1"})
print(res) DeleteResult
print(res.acknowledged) # True 删除成功
print(res.deleted_count) # 删除行数 只能是1
print(res.raw_result) 受影响行数

res = mongo_db.student.delete_many({"age":25})
print(res) DeleteResult
print(res.acknowledged) # True 删除成功
print(res.deleted_count) # 删除行数 可以大于1
print(res.raw_result) 受影响行数

#清除数据:
res = mongo_db.student.remove({})
print(res) # 受影响行数 返回值 n > 0 清除成功

limit、skip、sort:

此时sort的用法与pymysql中的用法及其相似,已经不是mongodb中的sort用法

res = mongo_db.school.find({}).limit(2).skip(1).sort("name",pymongo.ASCENDING)
for i in res:
    print(i)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值