📜  Python MongoDB示例(1)

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

Python MongoDB示例

简介

MongoDB是一个开源的,面向文档存储的NoSQL数据库。它使用JSON格式的BSON存储数据,具有高性能和可扩展性的特点,适合处理大量的非结构化数据以及需要高度灵活性的应用场景。

Python提供了pymongo这个MongoDB的官方驱动程序,我们可以使用Python编写代码与MongoDB进行交互和操作。

本文将介绍MongoDB的安装、pymongo的安装、MongoDB的连接、数据库和集合的创建、插入、查询、更新、删除等操作的示例代码。

MongoDB的安装

在使用MongoDB之前,需要先安装MongoDB,不同操作系统的安装方法不同,具体可以参照MongoDB的官方文档进行安装。

pymongo的安装

在安装MongoDB之后,需要安装pymongo,可以使用pip进行安装:

$ pip install pymongo
MongoDB的连接

使用pymongo连接MongoDB非常简单,只需要使用mongo()函数即可:

import pymongo

# 建立MongoDB的连接
client = pymongo.MongoClient('mongodb://localhost:27017')

# 获取数据库列表
db_list = client.list_database_names()
print(db_list)

连接MongoDB需要指定MongoDB的地址及端口号,这里使用了localhost默认的端口号27017

数据库和集合的创建

连接MongoDB之后,我们可以创建自己的数据库和集合,具体代码如下:

# 创建数据库
mydb = client['mydatabase']

# 获取集合列表
coll_list = mydb.list_collection_names()
print(coll_list)

# 创建集合
mycol = mydb['customers']

这里我们创建了一个名为mydatabase的数据库,以及一个名为customers的集合。

数据插入

接下来,我们将一些数据插入到customers集合中:

# 插入一条数据
data = {'name': 'John', 'address': 'Highway 37'}
x = mycol.insert_one(data)
print(x.inserted_id)

# 插入多条数据
data_list = [
    {'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'}
]
x = mycol.insert_many(data_list)
print(x.inserted_ids)

这里我们使用insert_one()insert_many()方法进行数据插入。

数据查询

完成数据插入之后,我们可以使用find()方法查询集合中的数据:

# 查询集合中的第一条数据
x = mycol.find_one()
print(x)

# 查询集合中所有的数据
for x in mycol.find():
    print(x)

# 只查询特定字段的数据
for x in mycol.find({}, {'_id': 0, 'name': 1, 'address': 1}):
    print(x)

这里我们查询了集合中的所有数据,并且可以指定只查询特定字段的数据。

数据更新

可以使用update_one()update_many()方法更新数据:

# 更新第一条数据
myquery = {'address': 'Valley 345'}
newvalue = {'$set': {'address': 'Canyon 123'}}
x = mycol.update_one(myquery, newvalue)
print(x.modified_count)

# 更新所有数据
myquery = {}
newvalue = {'$set': {'address': 'Canyon 123'}}
x = mycol.update_many(myquery, newvalue)
print(x.modified_count)

这里我们将集合中地址为Valley 345的数据的地址更新为Canyon 123

数据删除

最后是数据删除,我们可以使用delete_one()delete_many()方法删除数据:

# 删除第一条数据
myquery = {'address': 'Canyon 123'}
x = mycol.delete_one(myquery)
print(x.deleted_count)

# 删除所有数据
myquery = {}
x = mycol.delete_many(myquery)
print(x.deleted_count)

这里我们删除了集合中地址为Canyon 123的数据。

总结

本文介绍了MongoDB的安装、pymongo的安装、MongoDB的连接、数据库和集合的创建、插入、查询、更新、删除等操作的示例代码,希望能够帮助读者更好的了解和使用MongoDB和pymongo。