python-mongodb 增删改查 简单的函数封装

python-mongodb 增删改查 简单的函数封装

pytho用于连接mongodb的第三方库:
pip install pymongo

基础信息

# coding=utf-8
import pymongo

地址 = "mongodb://192.168.150.182:27017/"
库 = "库名"
表 = "表名"
用于排序的字段 = "_id"

增加文档

# 插入值必须为列表类型数据,一条数据使用一个位置
def mongo增(插入值=None):

    if 插入值==None:#判断插入值是否为空
        print("请输入需要插入的值")# 如果为空提示输入插入值
    else:
        myclient = pymongo.MongoClient(地址)#如果不为空,创建数据库连接”mycol“
        mydb = myclient[库]
        mycol = mydb[表]

        for i in 插入值:#循环写入插入值
            mycol.insert_many([i])#写入单个插入值

        已插入的条数=0#定义原始已插入条数为0
        for i in 插入值:
            mydoc = mycol.find(i)#确定插入值是否插入成功
            for i in mydoc:
                print(i)#打印已成功插入的文档
            已插入的条数=已插入的条数+1#找到一个已成功插入的条目就将已插入的条数+1

        print("已插入:  "+str(已插入的条数)+"  条文档")#打印输出信息:可以使用return


mongo增(插入值=[{'aa':11,'bb':12,'cc':13},
            {'aa':11,'bb':12,'cc':13},
            {'aa':11,'bb':12,'cc':13}])

删除文档

# 删除方式是已删除条件为准,通过排序字段进行删除
def mongo删(删除条件={}, 删除条数=1, 排序字段="_id", 排序方式=1):

    myclient = pymongo.MongoClient(地址)  # 定义数据库连接
    mydb = myclient[库]
    mycol = mydb[表]

    myquery = 删除条件
    mydoc = mycol.find(myquery)
    mydoc.limit(删除条数)  # 近100条消息
    mydoc.sort(排序字段, 排序方式)  # 根据期号进行降序

    已删除文档个数 = 0
    for i in mydoc:

        print(i)

        删除类型 = i[排序字段]
        myquery = {排序字段: 删除类型}
        x = mycol.delete_many(myquery)
        已删除文档个数 = 已删除文档个数 + x.deleted_count

    print(已删除文档个数, "个文档已删除")


mongo删(删除条件={'aa':11}, 删除条数=10, 排序字段="_id", 排序方式=1)

修改文档

# 修改值必须为需修改字段的完整内容
def mongo改(修改值, 修改字段="", 查询条件={}, 修改条数=100, 排序字段="_id", 排序方式=1):
    
    myclient = pymongo.MongoClient(地址)  # 定义数据库连接
    mydb = myclient[库]
    mycol = mydb[表]
    
    myquery = 查询条件
    mydoc = mycol.find(myquery)
    mydoc.limit(修改条数)  # 近100条消息
    mydoc.sort(排序字段, 排序方式)  # 根据期号进行降序
    
    for i in mydoc:
        原始值 = i[修改字段]
        修改值 = 修改值
        myquery = {修改字段: 原始值}
        newvalues = {"$set": {修改字段: 修改值}}
        mycol.update_one(myquery, newvalues)

    myquery = 查询条件
    mydoc = mycol.find(myquery)
    mydoc.limit(修改条数)  # 近100条消息
    mydoc.sort(排序字段, 排序方式)  # 根据期号进行降序
    
	已修改条数=[]
    for i2 in mydoc:
        已修改条数.append(12)
        print(i2)

    print("已更新文档:"+str(len(已修改条数))+"条")
   
    
mongo改(修改值={'aa':18}, 修改字段="kas", 查询条件={'aa':20}, 修改条数=100, 排序字段="_id", 排序方式=1)

查询文档

# 排序方式1正序,-1是倒序;排序字段默认为id可以自行修改
def mongo查(查询条件={}, 查询条数=100, 排序字段="_id", 排序方式=-1):
    
    myclient = pymongo.MongoClient(地址)  # 定义数据库连接
    mydb = myclient[库]
    mycol = mydb[表]
    
    myquery = 查询条件
    mydoc = mycol.find(myquery)
    mydoc.limit(查询条数)  # 近100条消息
    mydoc.sort(排序字段, 排序方式)  # 根据期号进行降序
    
    for i in mydoc:
        print(i)


mongo查(查询条件={'aa':18}, 查询条数=50, 排序字段="_id", 排序方式=-1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值