python连接mongodb操作数据示例(mongodb数据库配置类)

626次阅读  |  发布于5年以前

一、相关代码
数据库配置类 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()

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8