📅  最后修改于: 2023-12-03 14:46:00.514000             🧑  作者: Mango
本教程将介绍如何使用 Python 访问 MongoDB 数据库。MongoDB 是一种 NoSQL 数据库,常用于存储大量非结构化数据。
在开始之前,需要确保已经安装了 Python 和 MongoDB。可以使用 pip 安装 pymongo 库。
$ pip install pymongo
在 Python 中使用 PyMongo 模块连接 MongoDB 数据库,示例代码如下:
import pymongo
# 创建 MongoClient 对象
client = pymongo.MongoClient("mongodb://localhost:27017/")
# 创建数据库对象
db = client["mydatabase"]
集合在 MongoDB 中类似于一个表,在集合中存储文档。可以使用 insert_one 或 insert_many 方法创建集合,示例代码如下:
# 创建集合对象
col = db["customers"]
# 插入一条文档
customer = {"name": "John", "address": "Highway 37"}
col.insert_one(customer)
# 插入多条文档
customers = [
{"name": "Amy", "address": "Apple st 652"},
{"name": "Hannah", "address": "Mountain 21"},
{"name": "Michael", "address": "Valley 345"},
{"name": "Sandy", "address": "Ocean blvd 2"},
{"name": "Betty", "address": "Green Grass 1"},
{"name": "Richard", "address": "Sky st 331"},
{"name": "Susan", "address": "One way 98"},
{"name": "Vicky", "address": "Yellow Garden 2"},
{"name": "Ben", "address": "Park Lane 38"},
{"name": "William", "address": "Central st 954"},
{"name": "Chuck", "address": "Main Road 989"},
{"name": "Viola", "address": "Sideway 1633"}
]
col.insert_many(customers)
在 PyMongo 中可以使用 find_one 和 find_many 方法查询文档。find_one 方法返回集合中第一条匹配的文档,find_many 方法返回所有匹配的文档。
# 查询集合中第一条文档
x = col.find_one()
print(x)
# 查询集合中所有文档
for x in col.find():
print(x)
# 指定返回字段
for x in col.find({}, {"_id": 0, "name": 1, "address": 1}):
print(x)
# 指定查询条件
query = {"address": "Park Lane 38"}
result = col.find(query)
for x in result:
print(x)
在 PyMongo 中可以使用 update_one 或 update_many 方法更新文档。
# 更新第一条匹配的文档
query = {"address": "Valley 345"}
new_values = {"$set": {"address": "Canyon 123"}}
col.update_one(query, new_values)
# 更新所有匹配的文档
query = {"address": {"$regex": "^S"}}
new_values = {"$set": {"name": "Minnie"}}
col.update_many(query, new_values)
在 PyMongo 中可以使用 delete_one 或 delete_many 方法删除文档。
# 删除第一条匹配的文档
query = {"address": "Yellow Garden 2"}
col.delete_one(query)
# 删除所有匹配的文档
query = {"address": {"$regex": "^S"}}
col.delete_many(query)
在 PyMongo 中可以使用 drop 方法删除集合和数据库。
# 删除集合
col.drop()
# 删除数据库
client.drop_database("mydatabase")
本教程介绍了如何使用 Python 连接 MongoDB 数据库,并对集合中的文档进行增删改查操作。希望对您有所帮助!