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数据库,提取部分数据再存储
目标:从一个数据库中提取几个集合中的部分数据,组合起来一共一万条.几个集合,不足一千条数据的集合就全部提取,够一千条的就用一万减去不足一千的,再除以大于一千的集合个数,得到的值即为所需提取文档的个数. ...
随机推荐
- cocos2d-x之读开发技术精解
引擎位置(依次往下): 游戏App->逻辑与规则->引擎->运行的平台->硬件接口(驱动运行库API) 1. 渲染框架 CCNode绘制基类(引擎核心类都继承于它,形成一个链表 ...
- 根据funID,personID获取最新规划包项目相关信息
1.定义:根据funID,personID获取最新规划包项目相关信息(code projecttype(阶段) Pname(code+name) projectID) 项目表tbl_cfg_Proje ...
- eclipse + pydev 创建django项目
前提条件机器装好python,并装好django插件.(http://blog.csdn.net/lilongjiu/article/details/51405340) 1. 下载eclise Ver ...
- PHP中导出Excel,将数据以Excel形式导出
现在,很多地方都需要导出数据,这里说一种简单的方法将数据以Excel的形式导出,方法如下: <?php date_default_timezone_set('PRC');//设置时区 /*设置h ...
- Win7 +Cuda9.0+cudnn7.0.5 tensorflow-gpu1.5.0 安装实战
https://blog.csdn.net/gangeqian2/article/details/79358543 https://blog.csdn.net/tomato_sir/article/d ...
- 《从零开始学Swift》学习笔记(Day 22)——闭包那些事儿!
原创文章,欢迎转载.转载请注明:关东升的博客 我给Swift 中的闭包一个定义:闭包是自包含的匿名函数代码块,可以作为表达式.函数参数和函数返回值,闭包表达式的运算结果是一种函数类型. Swif ...
- EasyGBS国标流媒体服务器GB28181国标方案安装使用文档
EasyGBS - GB28181 国标方案安装使用文档 下载 安装包下载,正式使用需商业授权, 功能一致 在线演示 在线API 架构图 EasySIPCMS SIP 中心信令服务, 单节点, 自带一 ...
- Date、Calendar、DateFormat、SimpleDateFormat、Timer、TimerTask类
类 Date 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值. 它也允许格式化和解析日期字符串.不过,这些函数的 API 不易于实现国际化.从 ...
- centos添加定时任务
安装crontab: yum install crontabs 查看crontab服务状态:service crond status 手动启动crontab服务:service crond start ...
- centos系统时间相差8个小时解决方案
查看当前系统时间 [root@centos64 ~]# date 查看硬件时间 [root@centos64 ~]# hwclock --show 同步时间可以用:ntpdate us.pool.nt ...