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
python 操作mongoDB数据库的更多相关文章
- python操作三大主流数据库(10)python操作mongodb数据库④mongodb新闻项目实战
python操作mongodb数据库④mongodb新闻项目实战 参考文档:http://flask-mongoengine.readthedocs.io/en/latest/ 目录: [root@n ...
- python操作三大主流数据库(9)python操作mongodb数据库③mongodb odm模型mongoengine的使用
python操作mongodb数据库③mongodb odm模型mongoengine的使用 文档:http://mongoengine-odm.readthedocs.io/guide/ 安装pip ...
- python操作三大主流数据库(8)python操作mongodb数据库②python使用pymongo操作mongodb的增删改查
python操作mongodb数据库②python使用pymongo操作mongodb的增删改查 文档http://api.mongodb.com/python/current/api/index.h ...
- python操作三大主流数据库(7)python操作mongodb数据库①mongodb的安装和简单使用
python操作mongodb数据库①mongodb的安装和简单使用 参考文档:中文版:http://www.mongoing.com/docs/crud.html英文版:https://docs.m ...
- Python 操作 mongodb 数据库
原文地址:https://serholiu.com/python-mongodb 这几天在学习Python Web开发,于 是做准备做一个博客来练练手,当然,只是练手的,博客界有WordPress这样 ...
- python操作mongodb数据库
一.MongoDB 数据库操作 连接数据库 import pymongo conn = pymongo.Connection() # 连接本机数据库 conn = pymongo.Connection ...
- 【转】Python操作MongoDB数据库
前言 MongoDB GUI 工具 PyMongo(同步) Motor(异步) 后记 前言 最近这几天准备介绍一下 Python 与三大数据库的使用,这是第一篇,首先来介绍 MongoDB 吧,,走起 ...
- python 操作mongodb数据库模糊查询
# -*- coding: utf-8 -*-import pymongoimport refrom pymongo import MongoClient #创建连接#10.20.66.106clie ...
- python操作MONGODB数据库,提取部分数据再存储
目标:从一个数据库中提取几个集合中的部分数据,组合起来一共一万条.几个集合,不足一千条数据的集合就全部提取,够一千条的就用一万减去不足一千的,再除以大于一千的集合个数,得到的值即为所需提取文档的个数. ...
随机推荐
- iOS内存管理之浅见
当我们用alloc.new.copy创建对象时,对象的应用计数为1,当把这个对象retain时.引用计数+1.当对这个对象发送release消息时,引用计数-1,当对象的引用计数为0时,系统回收这个对 ...
- 提高打开Android本地文档的速度
非常多Android开发人员在參考Android官方API时,都有一个令人头疼的问题:打开一个index.html平均都须要几分钟甚至更长.尤其是在打开API 8以上的版本号的时候.难道是网速不够好? ...
- hdu4266(三维凸包模板题)
/*给出三维空间中的n个顶点,求解由这n个顶点构成的凸包表面的多边形个数. 增量法求解:首先任选4个点形成的一个四面体,然后每次新加一个点,分两种情况: 1> 在凸包内,则可以跳过 2> ...
- RabbitMQ指南之三:发布/订阅模式(Publish/Subscribe)
在上一章中,我们创建了一个工作队列,工作队列模式的设想是每一条消息只会被转发给一个消费者.本章将会讲解完全不一样的场景: 我们会把一个消息转发给多个消费者,这种模式称之为发布-订阅模式. 为了阐述这个 ...
- 发挥inline-block作用
.pay-type { // 同行 display: inline-flex; padding: 0 @pay-type_2imgs_padding-width; } .pay-type_icon { ...
- SpringBoot + Thymeleaf + Validate验证
在开发业务时,不可避免的需要处理一些校验, 如果是写 if-else 这种代码去校验, 那会有一大段这样的代码.不过还好有个校验插件: javax.validation.validation-api ...
- Oracle ErrorStack 使用和阅读具体解释
一.概述 在Oracle数据库执行过程中,我们常常会遇到这样或那样的错误.可是错误的提示并不详细,加大了我们在诊断问题时的难度. ErrorStack是Oracle提供的一种对于错误堆栈进行跟踪的方法 ...
- JavaWeb—监听器Listener
1.简介 Listener是Servlet的监听器,Servlet 监听器用于监听一些重要事件的发生,监听器对象在事情发生前.发生后可以做一些必要的处理. JavaWeb里面的listener是通过观 ...
- 20170411 debug窗口执行文件
[FUNCTION] Command=/H Title=Debugger Type=SystemCommand
- 安卓手机开机键失灵,FASTBOOT模式ADB重启
安装ADB工具 CMD指令fastboot reboot