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数据库,提取部分数据再存储
目标:从一个数据库中提取几个集合中的部分数据,组合起来一共一万条.几个集合,不足一千条数据的集合就全部提取,够一千条的就用一万减去不足一千的,再除以大于一千的集合个数,得到的值即为所需提取文档的个数. ...
随机推荐
- fzu2181(点的双连通分量+求奇环)
求出每个点双连通分量,如果在一个点双连通分量中有奇环,则这个分量每个点都在一个奇环中. 关键是要知道怎么求点双连通分量以及点双连通的性质. fzu2181 http://acm.fzu.edu.cn ...
- sql server 2008 对字段的操作
添加,刪除字段 通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数 增加字段: 增加数字字段,整型,缺省值为0 增加数字 ...
- 【穿插】Python基础之文件、文件夹的创建,对上一期代码进行优化
在上一期妹子图的爬虫教程中,我们将图片都保存在了代码当前目录下,这样并不便于浏览,我们应该将同一个模特的图片都放在一个文件夹中. 今天我们就简单讲一下Python下如何创建文件.文件夹,今后就可以用上 ...
- 阻塞(sleep等等)区别 中断(interrupt)+ 中断的意义
不客气地说,至少有一半人认为,线程的"中断"就是让线程停止.如果你也这么认为,那你对多线程编程还没有入门. 在java中,线程的中断(interrupt)只是改变了线程的中断状态, ...
- FW ImageMagick
ExploitFixes ImageMagick < 6.9.3-9 - Multiple Vulnerabilities 2016-05-04 22:05:53 Nikolay Ermishk ...
- ng-disabled的使用
1.适用范围 该指令适用于<input>, <select>,<button> 和 <textarea> 元素. 2.用法解析 ng-disabled ...
- 浅析 Pycharm 内存、cpu 占用率
浅析 Pycharm 内存.cpu 占用率 本机配置参数: ------------------------------------------ Windows 10 专业版 X64 ----- ...
- Linux用户相关文件之组文件
组信息文件: 1.文件地址: /etc/group -rw-r--r--. 1 root root 492 10月 6 21:56 /etc/group 2.文件内容: xiaol:x:500: 3. ...
- SpringBoot连接PostgreSQL
这个 org.postgresql.jdbc.PgConnection.createClob() 方法尚未被实作 application.properties spring.datasource.pl ...
- Android的代码都得自己一个个敲一遍吗?
近期在Android学习中,碰到一个头疼的问题.众所周知Android是一个开发源码的平台,网上有非常多网友分享的关于各种样例的demo,比方扫描二维码,瀑布流等,对于前人已有的成果,我们 ...