Python操作mongodb的9个步骤
作者:rottengeek 发布时间:2023-03-11 15:37:53
一 导入 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()
来源:https://segmentfault.com/a/1190000015153469


猜你喜欢
- 今天帮同事处理一个棘手的事情,问题是这样的:无论在客户机用哪个版本的mysql客户端连接服务器,发现只要服务器端设置了character-s
- 利用Python将多份excel表格整理成一份表格,抛弃过去逐份打开复制粘贴的方式。直接附上代码:import xlrd import xl
- function MakeUrl($arr){
- 现在有一个xml,格式如下: <date> <item> <id> 1 </id> <
- 本文实例讲述了Python实现利用最大公约数求三个正整数的最小公倍数。分享给大家供大家参考,具体如下:在求解两个数的小公倍数的方法时,假设两
- <html xmlns="http://www.w3.org/1999/xhtml"><head>
- 网络上有很多个性化的404页面,但是404页面不仅仅是个性化展示,404页面本来目的是:告诉浏览者其所请求的页面不存在或链接错误,同时引导用
- 本文实例讲述了Python大数据之从网页上爬取数据的方法。分享给大家供大家参考,具体如下:myspider.py :#!/usr
- 本文实例讲述了Python读写ini文件的方法。分享给大家供大家参考。具体如下:比如有一个文件update.ini,里面有这些内容:[ZIP
- 登录百度AL开发平台在控制台选择语音合成创建应用填写应用信息在应用列表获取(Appid、API Key、Secret Key)6. 安装py
- 我们讲了requests的用法以及利用requests简单爬取、保存网页的方法,这节课我们主要讲urllib和requests的区别。1、获
- DQL(Data Query Language),数据查询语言,主要是用来查询数据的,这也是SQL中最重要的部分!简单查询#DQL操作之基本
- ASP与存储过程(Stored Procedures)的文章不少,但是我怀疑作者们是否真正实践过。我在初学时查阅过大量相关资料,发现其中提供
- 前言pygame中的精灵碰撞是可见游戏中用的最基础的东西,这里结合官方文档和小甲鱼的网站上的内容做个小总结,方便日后使用。pygame.sp
- 概述传入条件的不同,会执行不同的语句每一个case分支都是唯一的,从上到下逐一测试,直到匹配为止。语法第一种【switch 带上表达式】sw
- 介绍最近在研究目标检测方面的小东西,需要到对桌面进行实时捕捉画面,获取画面后再检测,达到实时桌面目标检测的目的,所以写了一段小代码来实现该功
- 目录目标为什么操作步骤工程截图运行效果完整源代码目标在SpringBoot中集成内存数据库Sqlite.为什么像H2、hsqldb、derb
- 创建之前项目之前 记得改一下 maven 提高下载Pom速度 记得 setting 中
- 解决方案:1、在MY.INI文件中的 [mysqld] 中增加一行tmpdir="D:/MySQL/data/"修改后,
- 不使用int()函数的情况下把字符串转换为数字,如把字符串"12345"转换为数字12345。方法一:利用str函数既然