python 操作mongoDB数据库

时间:2023-03-08 23:29:21
python 操作mongoDB数据库

网上关于python 操作mongoDB的相关文章相对不是很多,并且质量也不是很高!下面给出一个完整的 增删改查示例程序!

#!/usr/bin/python
# -*- coding: utf-8 -*-
import pymongo
import re connection = pymongo.MongoClient('10.38.164.80',27017)
tdb = connection.test
collection = tdb.article #插入数据
try:
insert_data={"id":"","value":"abc"}
collection.insert(insert_data)
except BaseException:
print "插入异常" #查询数据
try:
print collection.find_one({"id":""})
cursor = collection.find({"title":re.compile("^.{0,50}(女神)")},{"title":1,"url":1})
for result in cursor:
print type(result) #查看类型
print str(result).decode("unicode-escape")
print result.get("title")
#print str(result).decode('unicode_escape')
except BaseException,e:
print "查询数据异常" + str(e) #修改数据
try:
collection.update({"id":""},{"$set":{"value":""}})
except BaseException,e:
print "更新数据失败"
print e #删除数据
try:
collection.remove({"id":""})
except BaseException,e:
print "删除数据异常"
print e

工具类(面向对象,使用更方便)

# -*- coding: utf-8 -*-
import pymongo
import re class MongoUtil:
def __init__(self,host,port):
self.host=host
self.port=port
self.mongoClient=pymongo.MongoClient(host,port) def insert(self,dbName,collectionName,data):
db=self.mongoClient.get_database(dbName)
collection=db.get_collection(collectionName)
collection.insert(data) def query(self,dbName,collectionName,queryObj,fieldObj):
db = self.mongoClient.get_database(dbName)
collection = db.get_collection(collectionName)
if fieldObj.__eq__({}):
return collection.find(queryObj)
else:
return collection.find(queryObj,fieldObj) def update(self,dbName,collectionName,queryObj,newInfo):
db = self.mongoClient.get_database(dbName)
collection = db.get_collection(collectionName)
collection.update(queryObj,newInfo) def delete(self,dbName,collectionName,queryObj):
db = self.mongoClient.get_database(dbName)
collection = db.get_collection(collectionName)
collection.delete_many(queryObj) mongoClient = MongoUtil("10.38.164.80",27017)
#增加数据
try:
mongoClient.insert("test","article",{"id":3,"value":"abcde"})
except BaseException,e:
print e
#查询数据
cursor = mongoClient.query("test","article",{"title":re.compile(".{0,50}(明星)")},{"title":1})
for result in cursor:
print str(result).decode("unicode-escape") #修改数据
mongoClient.update("test","article",{"id":3},{"$set":{"value":""}}) #删除数据
mongoClient.delete("test","article",{"id":3})

需要安装mongo库,安装命令如下(ubuntu):pip install pymongo