python连接mongodb数据库操作数据示例


Posted in Python onNovember 30, 2020

作者: wyh草样

出处:https://www.cnblogs.com/wyh0923/p/14047466.html

1、数据库配置类 MongoDBConn.py

#encoding=utf-8
'''

Mongo Conn连接类
'''

import pymongo

class DBConn:
  conn = None
  servers = "mongodb://localhost:27017"

  def connect(self):
    self.conn = pymongo.Connection(self.servers)

  def close(self):
    return self.conn.disconnect()

  def getConn(self):
    return self.conn

2、ngoDemo.py 类

#encoding=utf-8
'''

Mongo操作Demo
Done:
'''
import MongoDBConn

dbconn = MongoDBConn.DBConn()
conn = None
lifeba_users = None

def process():
  #建立连接
  dbconn.connect()
  global conn
  conn = dbconn.getConn()

  #列出server_info信息
  print conn.server_info()

  #列出全部数据库
  databases = conn.database_names()
  print databases

  #删除库和表
  dropTable()
  #添加数据库lifeba及表(collections)users
  createTable()
  #插入数据
  insertDatas()
  #更新数据
  updateData()
  #查询数据
  queryData()
  #删除数据
  deleteData()

  #释放连接
  dbconn.close()

def insertDatas():
  datas=[{"name":"steven1","realname":"测试1","age":25},
      {"name":"steven2","realname":"测试2","age":26},
      {"name":"steven1","realname":"测试3","age":23}]
  lifeba_users.insert(datas)

def updateData():
  '''只修改最后一条匹配到的数据
      第3个参数设置为True,没找到该数据就添加一条
      第4个参数设置为True,有多条记录就不更新
  '''
  lifeba_users.update({'name':'steven1'},{'$set':{'realname':'测试1修改'}}, False,False)

def deleteData():
  lifeba_users.remove({'name':'steven1'})

def queryData():
  #查询全部数据
  rows = lifeba_users.find()
  printResult(rows)
  #查询一个数据
  print lifeba_users.find_one()
  #带条件查询
  printResult(lifeba_users.find({'name':'steven2'}))
  printResult(lifeba_users.find({'name':{'$gt':25}}))

def createTable():
  '''创建库和表'''
  global lifeba_users
  lifeba_users = conn.lifeba.users

def dropTable():
  '''删除表'''
  global conn
  conn.drop_database("lifeba")

def printResult(rows):
  for row in rows:
    for key in row.keys():#遍历字典
      print row[key], #加, 不换行打印
    print ''

if __name__ == '__main__':
  process()

以上就是python连接mongodb数据库操作数据示例的详细内容,更多关于python连接mongodb的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python远程登录代码
Apr 29 Python
简单的Python的curses库使用教程
Apr 11 Python
Python中的特殊语法:filter、map、reduce、lambda介绍
Apr 14 Python
python中base64加密解密方法实例分析
May 16 Python
Python字符串、元组、列表、字典互相转换的方法
Jan 23 Python
Python代码缩进和测试模块示例详解
May 07 Python
利用python提取wav文件的mfcc方法
Jan 09 Python
python 用for循环实现1~n求和的实例
Feb 01 Python
对python3 Serial 串口助手的接收读取数据方法详解
Jun 12 Python
图文详解Django使用Pycharm连接MySQL数据库
Aug 09 Python
Python的对象传递与Copy函数使用详解
Dec 26 Python
用python修改excel表某一列内容的操作方法
Jun 11 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
Nov 30 #Python
Python命令行参数定义及需要注意的地方
Nov 30 #Python
用sleep间隔进行python反爬虫的实例讲解
Nov 30 #Python
Python基于Faker假数据构造库
Nov 30 #Python
python爬虫调度器用法及实例代码
Nov 30 #Python
python爬虫中url管理器去重操作实例
Nov 30 #Python
python爬虫中的url下载器用法详解
Nov 30 #Python
You might like
php返回字符串中所有单词的方法
2015/03/09 PHP
PHP实现小程序批量通知推送
2018/11/27 PHP
如何在PHP中使用AES加密算法加密数据
2020/06/24 PHP
jQuery获取地址栏参数插件(模仿C#)
2010/10/26 Javascript
jquery 3D 标签云示例代码
2014/06/12 Javascript
JavaScript-RegExp对象只能使用一次问题解决方法
2014/06/23 Javascript
jQuery实现单击和鼠标感应事件
2015/02/01 Javascript
jquery实现页面关键词高亮显示的方法
2015/03/12 Javascript
javascript封装 Cookie 应用接口
2015/08/07 Javascript
jQuery实现的简洁下拉菜单导航效果代码
2015/08/26 Javascript
jQuery Validate验证框架经典大全
2015/09/23 Javascript
向JavaScript的数组中添加元素的方法小结
2015/10/24 Javascript
基于jQuery实现select下拉选择可输入附源码下载
2016/02/03 Javascript
解决vue路由后界面没有变化,但是链接有的问题
2018/09/01 Javascript
JS 自执行函数原理及用法
2019/08/05 Javascript
vue 动态表单开发方法案例详解
2019/12/02 Javascript
VUE子组件向父组件传值详解(含传多值及添加额外参数场景)
2020/09/01 Javascript
详解javascript脚本何时会被执行
2021/02/05 Javascript
Python3读取UTF-8文件及统计文件行数的方法
2015/05/22 Python
python批量下载网站马拉松照片的完整步骤
2018/12/05 Python
如何在django里上传csv文件并进行入库处理的方法
2019/01/02 Python
Django REST框架创建一个简单的Api实例讲解
2019/11/05 Python
pytorch GAN伪造手写体mnist数据集方式
2020/01/10 Python
Python 简单计算要求形状面积的实例
2020/01/18 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
2020/06/22 Python
python 获取字典特定值对应的键的实现
2020/09/29 Python
Jupyter安装链接aconda实现过程图解
2020/11/02 Python
python绘制高斯曲线
2021/02/19 Python
详解CSS3的opacity属性设置透明效果的用法
2016/05/09 HTML / CSS
在html5的Canvas上绘制椭圆的几种方法总结
2013/01/07 HTML / CSS
HTML5、Select下拉框右边加图标的实现代码(增进用户体验)
2017/10/16 HTML / CSS
荷兰超市:DEEN
2018/03/14 全球购物
史上最全面的Java面试题汇总!
2015/02/03 面试题
机电一体化专业推荐信
2013/12/03 职场文书
小学语文国培研修日志
2015/11/13 职场文书
2016护理专业求职自荐书
2016/01/28 职场文书