python针对mongoDB数据库函数封装

该脚本详细封装了MongoDB数据库的增删改查功能,适用于数据存储与备份,便于数据查询和后续的数据分析流程。注释采用通俗名称,可按需求调整或补充。
摘要由CSDN通过智能技术生成

脚本功能:本脚本针对mongoDB数据库,提供增删改查方法的封装。
用途:
1、支持数据存储,数据备份
2、支持数据查询,可通过增加数据分析脚本进行串联使用

说明:一下所有参数及方法的备注,均来自于常见的称呼,非mongoDB数据库规定名称
如有需要更改或不足之处,欢迎各位反馈宝贵意见

import pymongo
import logging
import datetime
import sys



#日志环境配置
logging.basicConfig(format='%(asctime)s | %(pathname)s | line:%(lineno)d | %(levelname)s | %(message)s',
					level=logging.DEBUG, filemode='a',
					filename='D:\\IVLogs\\' + datetime.datetime.now().strftime('%Y%m%d') + '_PY.log')
rf_handler = logging.StreamHandler(sys.stderr)
rf_handler.setLevel(logging.DEBUG)
rf_handler.setFormatter(logging.Formatter('%(asctime)s | %(pathname)s | line:%(lineno)d | %(levelname)s | %(message)s'))
logging.getLogger().addHandler(rf_handler)



class mongoDB_Operation:
    """
    函数功能:初始化加载参数
    """
    def __init__(self,database,datatable):
        self.myclient = pymongo.MongoClient('mongodb://localhost:27017/')
        self.database = database
        self.mybd = self.myclient[database]
        self.mycol = self.mybd[datatable]
    
    """检查数据库是否存在"""
    def checkDataBase(self):
        dblist = self.myclient.list_database_names()
        if self.database in dblist:
            logging.info("数据库:%s 存在"%self.database)
            self.isCheckOK = 1
        else:
            logging.info("数据库:%s 不存在"%self.database)
            self.isCheckOK = 0
  
        
    """数据库操作:增(insert)"""

    """函数功能:插入一条数据"""
    def insert_one(self,tupstr):
        try:
            result = self.mycol.insert_one(tupstr)
            logging.info("数据插入成功:%s"%result.inserted_id)
        except Exception as e:
            logging.info("执行函数:insert_one失败,错误信息%s"%e)

    """函数功能:插入多条数据"""
    def insert_many(self,listStr):
        try:
            result = self.mycol.insert_many(listStr)
            logging.info("数据插入成功:%s"%result.inserted_ids)
        except Exception as e:
            logging.info("执行函数:insert_many失败,错误信息:%s"%e)

    
    """数据库操作;查找(find)"""

    """函数功能:查找表中第一条元素"""
    def find_one(self):
        try:
            self.checkDataBase()
            if self.isCheckOK ==0:
                logging.info("当前数据库不存在,无法执行查询操作")
                return
            dit =self.mycol.find_one()
            logging.info("首数据查询成功")
            
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值