脚本专栏 
首页 > 脚本专栏 > 浏览文章

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

(编辑:jimmy 日期: 2025/3/4 浏览:3 次 )

作者: 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的资料请关注其它相关文章!

上一篇:Django数据模型中on_delete使用详解
下一篇:Django数据统计功能count()的使用
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 站点导航 SiteMap