Python之NoSQL数据库增删改查

本文介绍了如何使用Python和pymongo库与MongoDB数据库进行交互。内容包括连接数据库、插入、更新及删除数据等基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用python作为NoSQL数据库与MongoDB进行交互。 如果您是MongoDB的新手,可以通过MongoDB教程来学习。

要连接到MongoDB,python使用一个名为pymongo的库。可以使用Anaconda环境中的以下命令将此库添加到您的python环境。

conda install pymongo

这个库允许python使用数据库客户端连接到MOngoDB。 一旦连接,我们选择要用于各种操作的数据库名称。

插入数据

要将数据插入到MongoDB中,使用数据库环境中可用的insert()方法。 首先使用下面显示的Python代码连接到数据库,然后以一系列键值对的形式提供文档详细信息。

# Import the python libraries
from pymongo import MongoClient
from pprint import pprint

# Choose the appropriate client
client = MongoClient()

# Connect to the test db 
db=client.test

# Use the employee collection
employee = db.employee
employee_details = {
    'Name': 'Raj Kumar',
    'Address': 'Sears Streer, NZ',
    'Age': '42'
}

# Use the insert method
result = employee.insert_one(employee_details)

# Query for the inserted document.
Queryresult = employee.find_one({'Age': '42'})
print(Queryresult)

执行上面示例代码,得到以下结果 -

{u'Address': u'Sears Streer, NZ',
 u'Age': u'42',
 u'Name': u'Raj Kumar',
 u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}

更新数据

更新现有的MongoDB数据与插入类似。 使用mongoDB原生的update()方法。 在下面的代码中,使用新的键值对替换了现有的记录。 请注意:这里可通过使用条件标准来决定更新哪条记录。

# Import the python libraries
from pymongo import MongoClient
from pprint import pprint

# Choose the appropriate client
client = MongoClient()

# Connect to db
db=client.test
employee = db.employee

# Use the condition to choose the record
# and use the update method
db.employee.update_one(
        {"Age":'42'},
        {
        "$set": {
            "Name":"Srinidhi",
            "Age":'35',
            "Address":"New Omsk, WC"
        }
        }
    )

Queryresult = employee.find_one({'Age':'35'})

print(Queryresult)

当执行上面的代码时,它会产生以下结果。

{u'Address': u'New Omsk, WC',
 u'Age': u'35',
 u'Name': u'Srinidhi',
 u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}

删除数据

使用delete方法的地方删除记录也很简单。 这里还提到用于选择要删除的记录的条件。

# Import the python libraries
from pymongo import MongoClient
from pprint import pprint

# Choose the appropriate client
client = MongoClient()

# Connect to db
db=client.test
employee = db.employee

# Use the condition to choose the record
# and use the delete method
db.employee.delete_one({"Age":'35'})

Queryresult = employee.find_one({'Age':'35'})

print(Queryresult)

执行上面示例代码,得到以下结果 -

None

所以看到特定的记录不再存在于db中。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菲宇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值