Python - NoSQL 数据库
随着越来越多的数据以非结构化或半结构化形式提供,通过 NoSql 数据库管理这些数据的需求也随之增加。Python 还可以以与关系数据库交互类似的方式与 NoSQL 数据库交互。在本章中,我们将使用 Python 与 MongoDB 作为 NoSQL 数据库进行交互。 如果您是 MongoDB 新手,您可以在我们的教程此处中学习它。>
为了连接到 MongoDB,Python 使用一个名为 pymongo 的库。您可以使用 Anaconda 环境中的以下命令将此库添加到您的 Python 环境中。
conda install pymongo
此库使 Python 能够使用数据库客户端连接到 MOngoDB。连接后,我们选择要用于各种操作的数据库名称。
插入数据
要将数据插入 MongoDB,我们使用数据库环境中可用的 insert() 方法。首先,我们使用下面显示的 Python 代码连接到数据库,然后我们 以一系列键值对的形式提供文档详细信息。
# 导入 Python 库
from pymongo import MongoClient
from pprint import pprint
# 选择合适的客户端
client = MongoClient()
# 连接到测试数据库
db=client.test
# 使用员工集合
employee = db.employee
employee_details = {
'Name': 'Raj Kumar',
'Address': 'Sears Streer, NZ',
'Age': '42'
}
# 使用插入方法
result = employee.insert_one(employee_details)
# 查询插入的文档。
Queryresult = employee.find_one({'Age': '42'})
pprint(Queryresult)
当我们执行上述代码时,它会产生以下结果。
{u'Address': u'Sears Streer, NZ',
u'Age': u'42',
u'Name': u'Raj Kumar',
u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}
更新数据
更新现有 MongoDB 数据与插入类似。我们使用 mongoDB 原生的 update() 方法。在下面的代码中,我们用新的键值对替换现有 记录。请注意我们如何使用条件标准来决定要更新哪条记录。
# 导入 python 库
from pymongo import MongoClient
from pprint import pprint
# 选择适当的客户端
client = MongoClient()
# 连接到数据库
db=client.test
employee = db.employee
# 使用条件选择记录
# 并使用更新方法
db.employee.update_one(
{"Age":'42'},
{
"$set": {
"Name":"Srinidhi",
"Age":'35',
"Address":"New Omsk, WC"
}
}
)
Queryresult = employee.find_one({'Age':'35'})
pprint(Queryresult)
当我们执行上述代码时,它会产生以下结果。
{u'Address': u'New Omsk, WC',
u'Age': u'35',
u'Name': u'Srinidhi',
u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}
删除数据
使用 delete 方法删除记录也很简单。这里我们还提到了用于选择要删除的记录的条件。
# 导入 Python 库
from pymongo import MongoClient
from pprint import pprint
# 选择适当的客户端
client = MongoClient()
# 连接到数据库
db=client.test
employee = db.employee
# 使用条件选择记录
# 并使用删除方法
db.employee.delete_one({"Age":'35'})
Queryresult = employee.find_one({'Age':'35'})
pprint(Queryresult)
当我们执行上述代码时,它会产生以下结果。
None
因此,我们看到数据库中不再存在该特定记录。

