日期:2023年8月28日
作者:Commas
签名:(ง •_•)ง 积跬步以致千里,积小流以成江海……
注释:如果您觉得有所帮助
,帮忙点个赞
,也可以关注我
,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢^ - ^
1.01365 = 37.7834;0.99365 = 0.0255
1.02365 = 1377.4083;0.98365 = 0.0006
文章目录
- 一、前言
- 二、安装MongoDB驱动程序
- 三、连接到MongoDB数据库
- 四、选择数据库和集合
- 五、插入数据
- 六、查询数据
- 七、更新数据
- 八、删除数据
- 九、断开连接
- 十、结束语
一、前言
MongoDB
是一个流行的 NoSQL
数据库,以其半结构化的文档存储方式而闻名。Python开发人员经常使用MongoDB来存储和处理各种类型的数据。本文将带你逐步了解如何使用Python与MongoDB进行交互,从连接到基本操作。
二、安装MongoDB驱动程序
安装了MongoDB的Python驱动程序pymongo
pip install pymongo
三、连接到MongoDB数据库
首先,确保MongoDB服务器正在运行。
接着,我们再连接到MongoDB数据库。使用pymongo
库的 MongoClient
类来建立连接:
try:
client = MongoClient('mongodb://localhost:27017/')
print("数据库连接成功")
except Exception as e:
print("数据库连接失败,原因:", e)
可以根据你的服务器配置修改连接字符串,如下所示:
# 配置连接信息
host = 'localhost'
port = 27017
username = '<YourUsername>'
password = '<YourPassword>'
auth_source = 'admin' # 认证数据库,默认是'admin',可以根据实际情况修改
# 尝试连接到MongoDB
try:
client = MongoClient(host, port,
username=username,
password=password,
authSource=auth_source)
print("数据库连接成功")
except Exception as e:
print("数据库连接失败,原因:", e)
四、选择数据库和集合
在MongoDB中,数据存储在数据库中,每个数据库可以包含多个集合(类似于表)。我们将创建一个名为 mydatabase
的数据库和一个名为customers
的集合:
# 创建数据库(如果不存在)
mydb = client["mydatabase"]
print(mydb)
# 创建集合
mycol = mydb["customers"]
print(mycol)
输出结果:
Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'mydatabase')
Collection(Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'mydatabase'), 'customers')
五、插入数据
我们可以使用 insert_one()
和 insert_many()
方法向集合中插入数据:
# 插入一条数据
data = {
"name": "Commas",
"email": "commas@example.com"
}
insert_result = mycol.insert_one(data)
print("Inserted ID:", insert_result.inserted_id)
# 插入多条数据
data_list = [ {"name": "CommasKM", "email": "commaskm@example.com"},
{"name": "Kang", "email": "kang@example.com"},
{"name": "Robert", "email": "Robert@example.com"}
]
insert_many_result = mycol.insert_many(data_list)
print("Inserted IDs:", insert_many_result.inserted_ids)
输出结果:
Inserted ID: 64eb1f52561652f6ae007e52
Inserted IDs: [ObjectId('64eb1f52561652f6ae007e53'), ObjectId('64eb1f52561652f6ae007e54'), ObjectId('64eb1f52561652f6ae007e55')]
六、查询数据
查询是从集合中检索数据的关键操作,使用 find()
方法可以查询集合中的数据。以下是两种常见的查询方法:
- 查询所有文档:
# 查询所有文档
all_documents = mycol.find()
print(all_documents)
for document in all_documents:
print(document)
输出结果:
<pymongo.cursor.Cursor object at 0x0000025299BEF910>
{'_id': ObjectId('64eb20d6bdc391e33532bda9'), 'name': 'Commas', 'email': 'commas@example.com'}
{'_id': ObjectId('64eb20d6bdc391e33532bdaa'), 'name': 'CommasKM', 'email': 'commaskm@example.com'}
{'_id': ObjectId('64eb20d6bdc391e33532bdab'), 'name': 'Kang', 'email': 'kang@example.com'}
{'_id': ObjectId('64eb20d6bdc391e33532bdac'), 'name': 'Robert', 'email': 'Robert@example.com'}
- 查询满足条件的文档:
# 查询满足条件的文档
specific_documents = mycol.find({"name": "Commas"})
print(specific_documents)
for document in specific_documents:
print(document)
输出结果:
<pymongo.cursor.Cursor object at 0x00000252974F16D0>
{'_id': ObjectId('64eb20d6bdc391e33532bda9'), 'name': 'Commas', 'email': 'commas@example.com'}
七、更新数据
要更新数据,可以使用 update_one()
或 update_many()
方法:
# 更新数据
update_query = {"name": "John"}
new_values = {"$set": {"email": "john.new@example.com"}}
mycol.update_one(update_query, new_values)
八、删除数据
要删除数据,可以使用 delete_one()
或 delete_many()
方法:
# 删除数据
delete_query = {"name": "Alice"}
mycol.delete_one(delete_query)
九、断开连接
在操作完成后,别忘了断开与数据库的连接:
client.close()
十、结束语
这篇文章介绍了如何使用Python的PyMongo库连接到MongoDB,并执行插入、查询、更新和删除操作。
希望这篇文章对你有所帮助,如果有任何问题或意见,请随时留言。谢谢阅读!
我的微信公众号【会飞的小猴子】,等你来关注哦 ^ - ^
参考文章:
- PyMongo官方文档
- MongoDB教程
- Real Python教程
版权声明:本文为博主原创文章,如需转载,请给出:
原文链接:https://blog.csdn.net/qq_35844043/article/details/132521237