1.下载pymongo

pip install pymongo

2.直接上代码

[ini配置文件]

封装读ini省略~~

[db.py]

class Database():

    def __init__(self):
self.cf = ConfigParser.ConfigParser()
self.mq = StringManipulation # 操作mongodb
def db_mongo(self,Positioning_mode,Location_element,Input_content): self._mongo_p= self.mq._mongo_path()
self.cf.read(self._mongo_p) db_host = self.cf.get(Positioning_mode, "host") operation_mr=['delete','select','update','insert'] get_mer=Location_element[0:6] count_str=Location_element.count('.') if Location_element and count_str == 2: get_me_list = Location_element.split('.') get_method=get_me_list[0] get_base=get_me_list[1] get_table=get_me_list[2]
if get_method in operation_mr and get_method and get_base and get_table: print(get_method)
print(get_base)
print(get_table) # 连接mongodb 目前只写了集群的连接方法
client = MongoClient(db_host) # 目标数据库
db=eval("client."+get_base) # 指定表
collection = eval("db."+get_table)
# 需要select
# Input_content=eval(Input_content)
if Input_content:
if get_method == 'select':
Input_content = eval(Input_content)
for get_select in collection.find(Input_content):
print("查询的数据成功:")
print(get_select) elif get_method == 'update':
Input_content=eval(Input_content)
# print(Input_content) get_find_dict=Input_content[0]
get_set_dict=Input_content[1]
collection.update(get_find_dict, {"$set":get_set_dict}) print("数据修改成功") # collection.update({"userName":"45852488@qq.com"},{"$set":{"code":"1783558010"}}) elif get_method =='insert': Input_content=eval(Input_content)
if isinstance(Input_content,tuple):
print(type(Input_content))
insert_list=[]
for i in Input_content:
insert_list.append(i)
collection.insert(insert_list)
# print(insert_list)
print("插入数据成功")
else:
collection.insert(Input_content)
print("插入数据成功") elif get_method =='delete':
print('delete')
Input_content=eval(Input_content)
if isinstance(Input_content,tuple):
for get_del_data in Input_content:
collection.remove(get_del_data)
print("数据已删除") else:
print("非t")
collection.remove(Input_content)
else:
print("操作关键字或数据库或表填写格式有误")
else:
print("操作关键字或数据库或表填写格式有误")

  

调用上面的方法增删改查

"""
#参数解释
Positioning_mode 对应配置文件[base_test],连接指定的mongodb
Location_element 参数格式: 操作方法.数据库.表
Input_content 增删该查的条件,mongo都是以字典的形式
""" # 删除数据
# Database().db_mongo('base_test','delete.mydb.email','{"userName" : "1435117266@qq.com"},{"userName" : "1435117288@qq.com"}')
#
# 插数据,多个或单个
# Database().db_mongo('base_test','insert.mydb.email','{"userName":"1435117288@qq.com","code" : "9999999999"},{"userName":"1435117266@qq.com","code" : "99999999999"}')
#
# 查询
# Database().db_mongo('base_test','select.mydb.email','{"userName":"45852488@qq.com"}')
#
#
# 修改
# Database().db_mongo('base_test','update.mydb.email','{"userName":"45852488@qq.com"},{"code":"1783558010","success":True}')
#
# {"code":"9999999999"}
#

  

python连接集群mongodb,封装增删改查的更多相关文章

  1. python操作三大主流数据库(8)python操作mongodb数据库②python使用pymongo操作mongodb的增删改查

    python操作mongodb数据库②python使用pymongo操作mongodb的增删改查 文档http://api.mongodb.com/python/current/api/index.h ...

  2. python连接sqlserver和MySQL实现增删改查

    参考python核心编程 编写一个用户洗牌的脚本,根据用户输入,选择连接sqlserver或者MySQL,创建数据库.表,随机生成数据,并实现增删改查. 其中,为了兼容python2和python3, ...

  3. python连接sql server数据库实现增删改查

    简述 python连接微软的sql server数据库用的第三方模块叫做pymssql(document:http://www.pymssql.org/en/stable/index.html).在官 ...

  4. Java连接MongoDB进行增删改查

    1.导入必须的包: 详情看项目:http://pan.baidu.com/s/1cvDAOY 2.通过Myeclipse创建WEB项目 3. 3.bean:创建实体类 package com.bean ...

  5. python 全栈开发,Day124(MongoDB初识,增删改查操作,数据类型,$关键字以及$修改器,"$"的奇妙用法,Array Object 的特殊操作,选取跳过排序,客户端操作)

    一.MongoDB初识 什么是MongoDB MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介 ...

  6. Scala对MongoDB的增删改查操作

    =========================================== 原文链接: Scala对MongoDB的增删改查操作 转载请注明出处! ==================== ...

  7. MongoDB的增删改查 转

    MongoDB的增删改查 (黎明你好原创作品,转载请注明) MongoDB中数据的基本单元叫做文档,采用json的键-值的方式.多个键及其关联的值有序的存放在一起变是文档.类似于编程语言中的键值关系. ...

  8. Java实现mongodb原生增删改查语句

    Java实现mongodb原生增删改查语句 2018-03-16 自动化测试时,需校验数据库数据,为了快速自动化,在代码中用原生增删改查语句操作mongodb 结构 代码 0 pom.xml < ...

  9. C# 对MongoDB 进行增删改查的简单操作

    C# 对MongoDB 进行增删改查的简单操作   下面演示下C#操作MongoDB驱动的简单的增删改查代码 运用到的MongoDB支持的C#驱动,当前版本为1.6.0 1,连接数据库   /// & ...

随机推荐

  1. ARM平台如何玩转GDB远程调试?

    前  言 关于GDB工具 GDB工具是GNU项目调试器,基于命令行使用.和其他的调试器一样,可使用GDB工具单步运行程序.单步执行.跳入/跳出函数.设置断点.查看变量等等,它是UNIX/LINUX操作 ...

  2. YbtOJ#643-机器决斗【贪心,李超树】

    正题 题目链接:https://www.ybtoj.com.cn/problem/643 题目大意 \(n\)个机器人,第\(i\)个攻击力为\(A_i\),防御为\(D_i\). 然后你每次可以对一 ...

  3. Shiro 550反序列化漏洞分析

    Shiro 550反序列化漏洞分析 一.漏洞简介 影响版本:Apache Shiro < 1.2.4 特征判断:返回包中包含rememberMe=deleteMe字段. Apache Shiro ...

  4. javascriptRemke之原型的重要性

    前言:JavaScript的原型对象一直是新人学习js的一大重大阻碍,但是原型的知识往往又是面试中常常会被深挖的一个点,为什么会这样呢?本文带你揭秘JavaScript原型的重要性,了解重要性之后再进 ...

  5. 从网络通信的演进过程彻底搞懂Redis高性能通信的原理(全网最详细,建议收藏)

    我们一直说Redis的性能很快,那为什么快?Redis为了达到性能最大化,做了哪些方面的优化呢? 在深度解析Redis的数据结构 这篇文章中,其实从数据结构上分析了Redis性能高的一方面原因. 在目 ...

  6. Javascript深入之作用域与闭包

    相信绝大多数同学都听过闭包这个概念,但闭包具体是什么估计很少有人能够说的很详细.说实话闭包在我们平时开发中应该是很常见的,并且在前端面试中闭包也是常见的重要考点,在学习闭包之前我们先来看看作用域与作用 ...

  7. Python代码阅读(第21篇):将变量名称转换为蛇式命名风格

    Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码 本篇阅读的代码实现将变量名称转换为蛇式命名风格(snake case)的功能. 本篇阅读的代码片段来自于30-second ...

  8. SharkCTF2021 easy_phpserialize题记

    ***先说教训: (1)不要看到正则就走不动路:有些正则不一定能绕. (2)__wakeup()漏洞在php5.6以上就被修复了: 本地复现各种题目时要注意环境. -------- 扫描,得到inde ...

  9. Wireshark 过滤器的使用

    符号 例子 = = tcp.port = = 80 过滤出来TCP包含80端口的数据包 != ip.src != 127.0.0.1 ip的原地址不是127.0.0.1过滤出来 > lp.len ...

  10. Scrum Meeting 10

    第10次例会报告 日期:2021年05月30日 会议主要内容概述: 目前组员均无暇软工,进展较慢. 一.进度情况 我们采用日报的形式记录每个人的具体进度,链接Home · Wiki,如下记录仅为保证公 ...