python 连mongodb时怎么设定mongod服务端路径

2024年11月27日 19:18
有1个网友回答
网友(1):

  python连接mongodb操作数据示例,主要包括插入数据、更新数据、查询数据、删除数据等
  一、相关代码
  数据库配置类 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
  MongoDemo.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()