Python使用MongoDB的常用操作(一)

本文讲述pymongo库对MongoDB的操作,这里pymongo库版本为4.0以上,跟pymongo库版本4.0以下的操作函数有些不一致,这个后续会进行补充,下面附上MongoDB数据库和Robo3T可视化工具的下载链接,有需要的小伙伴可以下载使用。
MongoDB的下载网址:https://www.runoob.com/mongodb/mongodb-window-install.html
MongoDB的可视化工具Robo3T安装教程:https://www.cnblogs.com/tugenhua0707/p/9250673.html

1.确认MongoDB已启动:

在这里插入图片描述

2.创建相应的数据库和集合

import pymongo

"""
链接数据库
"""
client = pymongo.MongoClient("localhost", 27017)
# client = pymongo.MongoClient("mongodb://localhost:27017/")   #另一种方式

"""
创建数据库
"""
history_time = client["history_time"]

"""
创建集合
"""
role = history_time["role"]

这里的代码运行后并不会生成相应的数据库和集合,它需要有数据在数据库中才会生成。

3.增加单个数据——insert_one()

import pymongo

"""
链接数据库
"""
client = pymongo.MongoClient("localhost", 27017)
# client = pymongo.MongoClient("mongodb://localhost:27017/")   #另一种方式

"""
创建数据库
"""
history_time = client["history_time"]

"""
创建集合
"""
role = history_time["role"]

# 增加单个数据
data = {"_id":"1", "name":"刘备", "country":"蜀国"}
role.insert_one(data)

打开Robo3T可视化工具查看:
在这里插入图片描述

4.增加多个数据——insert_many()

import pymongo

"""
链接数据库
"""
client = pymongo.MongoClient("localhost", 27017)
# client = pymongo.MongoClient("mongodb://localhost:27017/")   #另一种方式

"""
创建数据库
"""
history_time = client["history_time"]

"""
创建集合
"""
role = history_time["role"]

# 增加多个数据
data = [{"_id":"2", "name":"关羽", "country":"蜀国"},{"_id":"3", "name":"张飞", "country":"蜀国"}]
role.insert_many(data)

在这里插入图片描述

5.增加文档新属性——update_many() 注:该函数也用于更新多个数据,这个后说

import pymongo

"""
链接数据库
"""
client = pymongo.MongoClient("localhost", 27017)
# client = pymongo.MongoClient("mongodb://localhost:27017/")   #另一种方式

"""
创建数据库
"""
history_time = client["history_time"]

"""
创建集合
"""
role = history_time["role"]

# 增加文档新属性
role.update_many({}, {"$set":{"age":"待定"}})

在这里插入图片描述

6.更新一个数据——update_one()

import pymongo

"""
链接数据库
"""
client = pymongo.MongoClient("localhost", 27017)
# client = pymongo.MongoClient("mongodb://localhost:27017/")   #另一种方式

"""
创建数据库
"""
history_time = client["history_time"]

"""
创建集合
"""
role = history_time["role"]

# 更新一个数据
args = {"name":"刘备"}
role.update_one(args, {"$set":{"age":"35"}})

在这里插入图片描述

7.更新多个数据——update_many()

import pymongo

"""
链接数据库
"""
client = pymongo.MongoClient("localhost", 27017)
# client = pymongo.MongoClient("mongodb://localhost:27017/")   #另一种方式

"""
创建数据库
"""
history_time = client["history_time"]

"""
创建集合
"""
role = history_time["role"]

# 更新多个数据
args = {"age":"待定"}
role.update_many(args, {"$set":{"age":"30"}})

在这里插入图片描述

8.删除单个数据——delete_one()

import pymongo

"""
链接数据库
"""
client = pymongo.MongoClient("localhost", 27017)
# client = pymongo.MongoClient("mongodb://localhost:27017/")   #另一种方式

"""
创建数据库
"""
history_time = client["history_time"]

"""
创建集合
"""
role = history_time["role"]

# 删除数据
data = {"name":"张飞"}
role.delete_one(data)

在这里插入图片描述

9.删除多个数据——delete_many()

import pymongo

"""
链接数据库
"""
client = pymongo.MongoClient("localhost", 27017)
# client = pymongo.MongoClient("mongodb://localhost:27017/")   #另一种方式

"""
创建数据库
"""
history_time = client["history_time"]

"""
创建集合
"""
role = history_time["role"]

# 删除多个数据
data = {"age":"30"}
role.delete_many(data)

在这里插入图片描述
下面讲述查找函数find(),这里对数据库进行补充,效果如下:
在这里插入图片描述

10.查找所有数据——集合名.find(),如role.find()

import pymongo

"""
链接数据库
"""
client = pymongo.MongoClient("localhost", 27017)
# client = pymongo.MongoClient("mongodb://localhost:27017/")   #另一种方式

"""
创建数据库
"""
history_time = client["history_time"]

"""
创建集合
"""
role = history_time["role"]

result = role.find()
for i in result:
    print(i)

在这里插入图片描述

11.按条件查询——集合名.find(查询条件),如role.find({“age”:“30”})

import pymongo

"""
链接数据库
"""
client = pymongo.MongoClient("localhost", 27017)
# client = pymongo.MongoClient("mongodb://localhost:27017/")   #另一种方式

"""
创建数据库
"""
history_time = client["history_time"]

"""
创建集合
"""
role = history_time["role"]

# 条件查询
find_result = role.find({"age":"30"})
for i in find_result:
    print(i)

在这里插入图片描述

12.条件排序——集合名.find().sort(排序元素,正/倒序),如role.find().sort(“age”, 1)

import pymongo

"""
链接数据库
"""
client = pymongo.MongoClient("localhost", 27017)
# client = pymongo.MongoClient("mongodb://localhost:27017/")   #另一种方式

"""
创建数据库
"""
history_time = client["history_time"]

"""
创建集合
"""
role = history_time["role"]

# 条件排序
result = role.find().sort("age", 1) #从小到大
# result = role.find().sort("age", -1) #从大到小
for i in result:
    print(i)

在这里插入图片描述

13.偏移查询——limit(个数):限制返回数据的个数,skip(个数):跳过个数的数据再返回剩下的数据

import pymongo

"""
链接数据库
"""
client = pymongo.MongoClient("localhost", 27017)
# client = pymongo.MongoClient("mongodb://localhost:27017/")   #另一种方式

"""
创建数据库
"""
history_time = client["history_time"]

"""
创建集合
"""
role = history_time["role"]

# 偏移查询(分页)
result = role.find().limit(2)
for i in result:
    print(i)
print("______________")

result = role.find().skip(2)
for i in result:
    print(i)
print("______________")

result = role.find().limit(2).skip(2)
for i in result:
    print(i)

在这里插入图片描述

14.获取所有数据的个数——集合名.estimated_document_count(),如role.estimated_document_count()

import pymongo

"""
链接数据库
"""
client = pymongo.MongoClient("localhost", 27017)
# client = pymongo.MongoClient("mongodb://localhost:27017/")   #另一种方式

"""
创建数据库
"""
history_time = client["history_time"]

"""
创建集合
"""
role = history_time["role"]

# 获取文件的个数
# 旧版本(4.0之前的版本)查询:result = role.find().count()
result = role.estimated_document_count()
print(result)

在这里插入图片描述

15.获取目标条件的个数—— 集合名.count_documents(条件),如role.count_documents({“age”:“30”})

import pymongo

"""
链接数据库
"""
client = pymongo.MongoClient("localhost", 27017)
# client = pymongo.MongoClient("mongodb://localhost:27017/")   #另一种方式

"""
创建数据库
"""
history_time = client["history_time"]

"""
创建集合
"""
role = history_time["role"]

# 获取目标条件的个数
result = role.count_documents({"age":"30"})
print(result)

在这里插入图片描述
Python使用MongoDB的基本操作如上,相对复杂函数的使用会在后续文章补上,本文编写不易,望各位读者点上一个赞啊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值