Python操作mongodb的9个步骤


Posted in Python onJune 04, 2018

一 导入 pymongo

from pymongo import MongoClient

二 连接服务器 端口号 27017

连接MongoDB

连接MongoDB我们需要使用PyMongo库里面的MongoClient,一般来说传入MongoDB的IP及端口即可,第一个参数为地址host,第二个参数为端口port,端口如果不传默认是27017。

conn = MongoClient("localhost")

MongoClient(host='127.0.0.1',port=27017)

三 连接数据库

db = conn.数据库名称

连接集合

collection = db[collection_name]

or

collection = db.collection_name

查看全部聚集名称

db.collection_names()

四 插入数据
(1) 插入一条数据

db.user.insert({"name":"夏利刚","age":18,"hobby":"学习"})

(2) 插入多条数据

db.user.insert([{"name":"夏利刚","age":18,"hobby":"学习"},{"name":"xxxoo","age":48,"hobby":"学习"}]

(3) 在3.x以上 建议 使用

insert_one 插入一条数据

insert_many() 插入多条数据

(4) 返回 id 使用insert_one()

data.inserted_id

data.inserted_ids

五 查询数据
(1) 查询所有

db.user.find()

#带条件的查询
# data = db.user.find({"name":"周日"})
# print(data) #返回result类似一个迭代器 可以使用 next方法 一个一个 的取出来
# print(next(data)) #取出一条数据

2) 查询一条

db.user.find_one()

(3) 带条件查询

db.user.find({"name":"张三"})

(4) 查询 id

from bson.objectid import ObjectId*#用于ID查询

data = db.user.find({"_id":ObjectId("59a2d304b961661b209f8da1")})

(5) 模糊查询

(1){"name":{'$regex':"张"}}

(2)import re {'xxx':re.compile('xxx')}

六 sort limit count skip
(1) sort 排序

​ 年龄 大于10

data = db.user.find({"age":{"$gt":10}}).sort("age",-1) #年龄 升序 查询 pymongo.ASCENDING --升序

data = db.user.find({"age":{"$gt":10}}).sort("age",1) #年龄 降序 查询 pymongo.DESCENDING --降序

(2) limit 取值

​ 取三条数据

db.user.find().limit(3)

data = db.user.find({"age":{"$gt":10}}).sort("age",-1).limit(3)

(3) count 统计数据条数

db.user.find().count()

(4) skip 从第几条数据开始取

db.user.find().skip(2)

七 update 修改
​ update()方法其实也是官方不推荐使用的方法,在这里也分了update_one()方法和update_many()方法,用法更加严格,

(1) update()

db.user.update({"name":"张三"},{"$set":{"age":25}})

db.user.update({"name":"张三"},{"$inc":{"age":25}})

(2) update_one() 第一条符合条件的数据进行更新

​ db.user.update_one({"name":"张三"},{"$set":{"age":99}})

(3) update_many() 将所有符合条件的数据都更新

db.user.update_many({"name":"张三"},{"$set":{"age":91}})

(4) 其返回结果是UpdateResult类型,然后调用matched_count和modified_count属性分别可以获得匹配的数据条数和影响的数据条数。

print(result.matched_count, result.modified_count)没

八 remove 删除

删除操作比较简单,直接调用remove()方法指定删除的条件即可,符合条件的所有数据均会被删除,

(1) 删除 张三

collection.remove({"name":"lilei"})

(2) 全部删除

collection.remove()

(3) 依然存在两个新的推荐方法,delete_one()和delete_many()方法,示例如下:

delete_one()即删除第一条符合条件的数据

collection.delete_one({“name”:“ Kevin”})

delete_many()即删除所有符合条件的数据,返回结果是DeleteResult类型

collection.delete_many({“age”: {$lt:25}})

(4) 可以调用deleted_count属性获取删除的数据条数。

result.deleted_count

九 关闭连接

conn.close()

Python 相关文章推荐
python之wxPython应用实例
Sep 28 Python
Python科学计算之Pandas详解
Jan 15 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
Mar 16 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
Oct 07 Python
python打包压缩、读取指定目录下的指定类型文件
Apr 12 Python
使用tensorflow实现线性回归
Sep 08 Python
解决vscode python print 输出窗口中文乱码的问题
Dec 03 Python
Python制作动态字符图的实例
Jan 27 Python
python连接、操作mongodb数据库的方法实例详解
Sep 11 Python
python [:3] 实现提取数组中的数
Nov 27 Python
手把手教你进行Python虚拟环境配置教程
Feb 03 Python
Python超简单容易上手的画图工具库推荐
May 10 Python
Python中property函数用法实例分析
Jun 04 #Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
Jun 04 #Python
python最长回文串算法
Jun 04 #Python
python中字符串的操作方法大全
Jun 03 #Python
Python Logging 日志记录入门学习
Jun 02 #Python
python实现寻找最长回文子序列的方法
Jun 02 #Python
python实现对求解最长回文子串的动态规划算法
Jun 02 #Python
You might like
php 获取全局变量的代码
2011/04/21 PHP
PHP生成随机密码方法汇总
2015/08/27 PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
2016/01/07 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
2019/10/01 PHP
浅谈javascript的调试
2015/01/28 Javascript
JavaScript获取页面中表单(form)数量的方法
2015/04/03 Javascript
js实现Select头像选择实时预览代码
2015/08/17 Javascript
基于jQuery通过jQuery.form.js插件实现异步上传
2015/12/13 Javascript
js实现将选中内容分享到新浪或腾讯微博
2015/12/16 Javascript
基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
2016/05/12 Javascript
Vue axios 中提交表单数据(含上传文件)
2017/07/06 Javascript
angular2组件中定时刷新并清除定时器的实例讲解
2018/08/31 Javascript
利用es6 new.target来对模拟抽象类的方法
2019/05/10 Javascript
微信公众号H5之微信分享常见错误和问题(小结)
2019/11/14 Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
2020/03/16 Javascript
JavaScript基于SVG的图片切换效果实例代码
2020/12/15 Javascript
js实现鼠标拖曳效果
2020/12/30 Javascript
[59:44]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 paiN vs iG
2018/03/31 DOTA
[01:16]DOTA2小知识课堂 Ep.03 芒果树无伤肉山
2019/12/05 DOTA
python 解析html之BeautifulSoup
2009/07/07 Python
python使用os模块的os.walk遍历文件夹示例
2014/01/27 Python
Python中声明只包含一个元素的元组数据方法
2014/08/25 Python
Python实现的单向循环链表功能示例
2017/11/10 Python
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
2019/06/10 Python
Python实现微信中找回好友、群聊用户撤回的消息功能示例
2019/08/23 Python
使用Matplotlib 绘制精美的数学图形例子
2019/12/13 Python
pycharm全局搜索的具体步骤
2020/07/28 Python
简单介绍HTML5中的文件导入
2015/05/08 HTML / CSS
html5简介_动力节点Java学院整理
2017/07/07 HTML / CSS
俄罗斯街头服装品牌:Black Star Wear
2017/03/01 全球购物
澳大利亚在线家具、灯饰和家居装饰店:LivingStyles
2018/11/20 全球购物
对标管理实施方案
2014/03/12 职场文书
警察先进个人事迹材料
2014/05/16 职场文书
工厂见习报告范文
2014/10/31 职场文书
同事去世追悼词
2015/06/23 职场文书