📅  最后修改于: 2023-12-03 15:04:39.586000             🧑  作者: Mango
PyMongo是Python语言的MongoDB驱动程序,使得Python开发人员可以使用MongoDB。PyMongo采用原生的Python语言实现的,可以轻松的与MongoDB数据库交互,进而实现Python程序的数据持久化。
要安装PyMongo,请使用pip,向终端运行以下命令:
pip install pymongo
要连接MongoDB数据库,请使用PyMongo的MongoClient 对象,实例化MongoClient对象时可以传入连接地址和端口。
import pymongo
# 地址格式: mongodb://[host]:[port]/
client = pymongo.MongoClient("mongodb://localhost:27017/")
要创建MongoDB数据库,请请先连接MongoDB数据库,然后使用client 对象的database_names()方法创建数据库。
import pymongo
# 地址格式: mongodb://[host]:[port]/
client = pymongo.MongoClient("mongodb://localhost:27017/")
# 获取或创建一个名为 testdb 的数据库
db = client.testdb
要创建MongoDB集合,请先获取MongoDB数据库对象,然后使用database 对象的create_collection()方法创建集合。
import pymongo
# 地址格式: mongodb://[host]:[port]/
client = pymongo.MongoClient("mongodb://localhost:27017/")
# 获取或创建一个名为 testdb 的数据库
db = client.testdb
# 获取或创建一个名为 testcollection 的集合
collection = db.testcollection
要将数据插入MongoDB数据库,请使用 collection 对象的insert_one() 方法。
import pymongo
# 地址格式: mongodb://[host]:[port]/
client = pymongo.MongoClient("mongodb://localhost:27017/")
# 获取或创建一个名为 testdb 的数据库
db = client.testdb
# 获取或创建一个名为 testcollection 的集合
collection = db.testcollection
# 插入一条数据
data = {"name": "Tom", "age": 18}
collection.insert_one(data)
要查询MongoDB数据库中的数据,请使用collection.find()方法。
import pymongo
# 地址格式: mongodb://[host]:[port]/
client = pymongo.MongoClient("mongodb://localhost:27017/")
# 获取或创建一个名为 testdb 的数据库
db = client.testdb
# 获取或创建一个名为 testcollection 的集合
collection = db.testcollection
# 查询数据
for item in collection.find():
print(item)
要更新MongoDB数据库的数据,请使用collection.update_one()方法。
import pymongo
# 地址格式: mongodb://[host]:[port]/
client = pymongo.MongoClient("mongodb://localhost:27017/")
# 获取或创建一个名为 testdb 的数据库
db = client.testdb
# 获取或创建一个名为 testcollection 的集合
collection = db.testcollection
# 更新数据
query = {"name": "Tom"}
new_data = {"$set": {"age": 20}}
collection.update_one(query, new_data)
要从MongoDB数据库中删除数据,请使用collection.delete_one()方法。
import pymongo
# 地址格式: mongodb://[host]:[port]/
client = pymongo.MongoClient("mongodb://localhost:27017/")
# 获取或创建一个名为 testdb 的数据库
db = client.testdb
# 获取或创建一个名为 testcollection 的集合
collection = db.testcollection
# 删除数据
query = {"name": "Tom"}
collection.delete_one(query)