📜  Python数据持久性-PyMongo模块(1)

📅  最后修改于: 2023-12-03 15:04:39.586000             🧑  作者: Mango

Python数据持久性-PyMongo模块

简介

PyMongo是Python语言的MongoDB驱动程序,使得Python开发人员可以使用MongoDB。PyMongo采用原生的Python语言实现的,可以轻松的与MongoDB数据库交互,进而实现Python程序的数据持久化。

安装

要安装PyMongo,请使用pip,向终端运行以下命令:

pip install pymongo
连接MongoDB

要连接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)