python中MongoDB操作实践:查询文档、批量插入文档、更新文档、删除文档

MongoDB操作实践:查询文档

python 复制代码
from pymongo import MongoClient

# 连接本地MongoDB,默认端口 27017
client = MongoClient('localhost', 27017)

# 创建数据库/选择数据库 (字典类型的操作)
db = client['test_db']

# 创建数据表/数据集合
collection = db['users']

# 查询一个文档 查询的内容依然以 json格式传递,例如{'name':'angle'}
one = collection.find_one({'name': 'angle'})
print(f'find one user:{one}', type(one))

执行结果

查询多个文档

python 复制代码
# 查询多个文档
all_users = collection.find()
for user in all_users:
    print(user)

执行结果

批量插入文档

python 复制代码
from pymongo import MongoClient

# 连接本地MongoDB,默认端口 27017
client = MongoClient('localhost', 27017)

# 创建数据库/选择数据库 (字典类型的操作)
db = client['test_db']

# 创建数据表/数据集合
collection = db['users']

# 插入单个文档-->类似于mysql中一条数据
# user = {'name':'alice', 'age':20, 'email':'vvvvv@com'}  # 字典类型数据/文档型数据(json型数据)
#
# insert_one_result = collection.insert_one(user)

# print(f'inserted_id is:{insert_one_result.inserted_id}')

# 查询一个文档 查询的内容依然以 json格式传递,例如{'name':'angle'}
# one = collection.find_one({'name': 'angle'})
# print(f'find one user:{one}', type(one))



# 批量插入文档
many_users = [{'name':'tom', 'age':23, 'email':'tom@qq.com'},
    {'name':'tina', 'age':28, 'email':'tina@qq.com'},
    {'name':'jay', 'age':32, 'email':'jay@qq.com'}]

insert_many_result = collection.insert_many(many_users)
print('insert_many_ids', insert_many_result.inserted_ids)

# 查询多个文档
all_users = collection.find()
for user in all_users:
    print(user)

执行结果

更新文档

python 复制代码
collection.update_one({'name':'alice'}, {'$set':{'name':'alice', 'age':29}})

更新多条文档

python 复制代码
# 更新多条文档
collection.update_many(
    {'age':{'$lt': 30}},
    {'$set':{'status':'young'}}
)

执行结果见下表,已经给30岁以下的打上了标签

删除文档

删除一条

python 复制代码
collection.delete_one(
    {'name':'tom'}
)


删除多条(条件删除)

python 复制代码
collection.delete_many(
    {'age':{'$gte':23, '$lt':29}}
)


删除所有

python 复制代码
# 删除所有
collection.delete_many({})

执行结果如下

相关推荐
冷雨夜中漫步6 小时前
Python快速入门(6)——for/if/while语句
开发语言·经验分享·笔记·python
郝学胜-神的一滴6 小时前
深入解析Python字典的继承关系:从abc模块看设计之美
网络·数据结构·python·程序人生
百锦再6 小时前
Reactive编程入门:Project Reactor 深度指南
前端·javascript·python·react.js·django·前端框架·reactjs
m0_736919108 小时前
C++代码风格检查工具
开发语言·c++·算法
喵手8 小时前
Python爬虫实战:旅游数据采集实战 - 携程&去哪儿酒店机票价格监控完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集结果csv导出·旅游数据采集·携程/去哪儿酒店机票价格监控
2501_944934738 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
helloworldandy8 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
黎雁·泠崖9 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
2301_763472469 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
肖永威9 小时前
macOS环境安装/卸载python实践笔记
笔记·python·macos