网上关于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数据库的更多相关文章

  1. python操作三大主流数据库(10)python操作mongodb数据库④mongodb新闻项目实战

    python操作mongodb数据库④mongodb新闻项目实战 参考文档:http://flask-mongoengine.readthedocs.io/en/latest/ 目录: [root@n ...

  2. python操作三大主流数据库(9)python操作mongodb数据库③mongodb odm模型mongoengine的使用

    python操作mongodb数据库③mongodb odm模型mongoengine的使用 文档:http://mongoengine-odm.readthedocs.io/guide/ 安装pip ...

  3. python操作三大主流数据库(8)python操作mongodb数据库②python使用pymongo操作mongodb的增删改查

    python操作mongodb数据库②python使用pymongo操作mongodb的增删改查 文档http://api.mongodb.com/python/current/api/index.h ...

  4. python操作三大主流数据库(7)python操作mongodb数据库①mongodb的安装和简单使用

    python操作mongodb数据库①mongodb的安装和简单使用 参考文档:中文版:http://www.mongoing.com/docs/crud.html英文版:https://docs.m ...

  5. Python 操作 mongodb 数据库

    原文地址:https://serholiu.com/python-mongodb 这几天在学习Python Web开发,于 是做准备做一个博客来练练手,当然,只是练手的,博客界有WordPress这样 ...

  6. python操作mongodb数据库

    一.MongoDB 数据库操作 连接数据库 import pymongo conn = pymongo.Connection() # 连接本机数据库 conn = pymongo.Connection ...

  7. 【转】Python操作MongoDB数据库

    前言 MongoDB GUI 工具 PyMongo(同步) Motor(异步) 后记 前言 最近这几天准备介绍一下 Python 与三大数据库的使用,这是第一篇,首先来介绍 MongoDB 吧,,走起 ...

  8. python 操作mongodb数据库模糊查询

    # -*- coding: utf-8 -*-import pymongoimport refrom pymongo import MongoClient #创建连接#10.20.66.106clie ...

  9. python操作MONGODB数据库,提取部分数据再存储

    目标:从一个数据库中提取几个集合中的部分数据,组合起来一共一万条.几个集合,不足一千条数据的集合就全部提取,够一千条的就用一万减去不足一千的,再除以大于一千的集合个数,得到的值即为所需提取文档的个数. ...

随机推荐

  1. python3 - 生成器genarator

    在Python中,这种一边循环一边计算的机制,称为生成器:generator. 生成器保存的是算法,每次调用 next() ,就计算出 下一个元素的值,直到计算到最后一个元素,没有更多的元素时,抛出 ...

  2. Android无线测试之—UiAutomator UiDevice API介绍七

    截图与等待空闲 一.截图和等待空闲相关知识: 1)图片缩放比例:例如图片从100像素缩小到50像素 2)图片质量:是指图片大小,质量越高图片越大,质量越低图片越小 3)File类:指的是一个文件或者一 ...

  3. 1084 矩阵取数问题 V2

    1084 矩阵取数问题 V2 基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 一个M*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,先从左上走到右下 ...

  4. 巨蟒python全栈开发django7:多表增加和查询

    1.回顾内容&&补充 补充1: 补充2: 这个选择的是第二个解释器. 选择第一个的话,只是针对当前的项目,如果再开新项目的话,需要重新下载安装相关的包. 点击保存,因为我们注释掉了,创 ...

  5. 中文价格识别为数字 java代码

    运行效果: public class VoicePriceRecognition { private final static String NOT_HAS_PRICE_CONTENT="n ...

  6. pandas(一)操作Series和DataFrame的基本功能

    reindex:重新索引 pandas对象有一个重要的方法reindex,作用:创建一个适应新索引的新对象 以Series为例 >>> series_obj = Series([4. ...

  7. 剑指offer 面试13题

    面试13题: 题目:机器人的运动范围 题:地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子 ...

  8. pyhton3 random模块

    random是内建(built-in)函数,作用是产生随机数 导入模块: import random 接着就可以调用random模块下的函数了使用 dir(random)可以查看random模块下有哪 ...

  9. 09_Hadoop启动或停止的三种方式及启动脚本

    1.Hadoop启动或停止 1)第一种方式 分别启动 HDFS 和 MapReduce,命令如下: 启动: $ start-dfs.sh $ start-mapred.sh 停止: $ stop-ma ...

  10. 主攻ASP.NET.4.5.1 MVC5.0之重生:Web项目语音朗读网页文本,简单语音提示浏览状态

    第一步 添加SpeechLib.dll 下载SpeechLib.dll: 在项目中并且引用DLL using SpeechLib; using System.Threading; 第二步 调用并使用 ...