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生成指定长度的随机数密码
Jan 23 Python
跟老齐学Python之玩转字符串(2)
Sep 14 Python
Python实现上下班抢个顺风单脚本
Feb 07 Python
查看django执行的sql语句及消耗时间的两种方法
May 29 Python
深入理解Django自定义信号(signals)
Oct 15 Python
想学python 这5本书籍你必看!
Dec 11 Python
用python实现刷点击率的示例代码
Feb 21 Python
python3反转字符串的3种方法(小结)
Nov 07 Python
opencv3/C++ 平面对象识别&透视变换方式
Dec 11 Python
python使用python-pptx删除ppt某页实例
Feb 14 Python
django学习之ajax post传参的2种格式实例
May 14 Python
Python中的协程(Coroutine)操作模块(greenlet、gevent)
May 30 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 编写的 25个游戏脚本
2009/05/11 PHP
file_get_contents获取不到网页内容的解决方法
2013/03/07 PHP
php 可变函数使用小结
2018/06/12 PHP
PHP实现常用排序算法的方法
2020/02/05 PHP
JS 显示当前日期与时间的代码
2010/03/24 Javascript
文本框回车提交与禁止提交示例
2013/09/27 Javascript
javascript用函数实现对象的方法
2015/05/14 Javascript
超实用的JavaScript表单代码段
2016/02/26 Javascript
AngularJS中的按需加载ocLazyLoad示例
2017/01/11 Javascript
vue-cli 关闭热更新操作
2020/09/18 Javascript
Nodejs 微信小程序消息推送的实现
2021/01/20 NodeJs
[00:34]TI7不朽珍藏III——纯金地穴编织者饰品展示
2017/07/15 DOTA
探究数组排序提升Python程序的循环的运行效率的原因
2015/04/01 Python
基于python select.select模块通信的实例讲解
2017/09/21 Python
Python中xrange与yield的用法实例分析
2017/12/26 Python
scrapy爬虫实例分享
2017/12/28 Python
python随机取list中的元素方法
2018/04/08 Python
对Python+opencv将图片生成视频的实例详解
2019/01/08 Python
基于OpenCV python3实现证件照换背景的方法
2019/03/22 Python
pyqt5之将textBrowser的内容写入txt文档的方法
2019/06/21 Python
python getpass模块用法及实例详解
2019/10/07 Python
python随机数分布random均匀分布实例
2019/11/27 Python
Python 实现训练集、测试集随机划分
2020/01/08 Python
python扫描线填充算法详解
2020/02/19 Python
Python3 shelve对象持久存储原理详解
2020/03/23 Python
SEPHORA新西兰官方网站:购买化妆品和护肤品
2016/12/02 全球购物
日本最大级玩偶手办购物:あみあみ Amiami
2018/04/23 全球购物
局域网定义和特性
2016/01/23 面试题
内部类的定义、种类以及优点
2013/10/16 面试题
行政副总岗位职责
2014/02/23 职场文书
网页美工求职信范文
2014/04/17 职场文书
大学生村官个人对照检查材料(群众路线)
2014/09/26 职场文书
春节晚会开场白
2015/05/29 职场文书
2019年幼儿园管理条例范本!
2019/07/17 职场文书
低门槛开发iOS、Android、小程序应用的前端框架详解
2021/10/16 Javascript
《地。-关于地球的运动-》单行本第七集上市,小说家朝井辽献上期待又害怕的推荐文
2022/03/31 日漫