📜  Python MongoDB-插入文档(1)

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

Python MongoDB-插入文档

MongoDB是一种文档数据库,非常适合处理半结构化数据。Python是一种动态语言,语法简单,使得Python成为使用MongoDB的流行选择之一。

在Python中,我们可以使用pymongo模块来连接MongoDB数据库,并执行各种操作,例如插入文档。

插入文档

在MongoDB中,文档的格式是BSON(Binary JSON)格式。在Python中,我们可以使用字典表示BSON文档。

下面是Python中向MongoDB数据库中的集合中插入文档的代码示例:

import pymongo

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

# 选择数据库和集合
db = client['mydatabase']
collection = db['mycollection']

# 向集合中插入文档
mydocument = {"name": "John", "address": "Highway 37"}
x = collection.insert_one(mydocument)

在上面的示例中,我们使用MongoDB的URI连接字符串来连接到MongoDB服务器。然后我们选择了要使用的数据库和集合。

使用insert_one方法向集合中插入一个文档,它返回一个InsertOneResult对象。这个对象包含了插入的文档的_id字段。

批量插入文档

如果您要插入多个文档,您可以使用insert_many方法来批量插入文档。这个方法需要一个文档列表作为参数。

下面是Python中批量插入文档的代码示例:

import pymongo

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

# 选择数据库和集合
db = client['mydatabase']
collection = db['mycollection']

# 向集合中批量插入文档
mydocuments = [{"name": "John", "address": "Highway 37"},
               {"name": "Jane", "address": "Broadway 14"},
               {"name": "Bill", "address": "Central Street 21"}]
x = collection.insert_many(mydocuments)

在上面的示例中,我们使用insert_many方法向集合中插入了三个文档。

获取插入的文档ID

insert_oneinsert_many方法都返回一个InsertOneResultInsertManyResult对象,该对象包含了插入的文档的_id字段。

如果您需要获取插入的文档的_id字段,您可以通过访问InsertOneResult.inserted_id属性或InsertManyResult.inserted_ids属性来实现。

下面是Python中获取插入的文档ID的代码示例:

import pymongo

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

# 选择数据库和集合
db = client['mydatabase']
collection = db['mycollection']

# 向集合中插入文档
mydocument = {"name": "John", "address": "Highway 37"}
x = collection.insert_one(mydocument)

# 输出插入文档的_id字段
print(x.inserted_id)

在上面的示例中,我们向集合中插入一个文档,并访问了InsertOneResult.inserted_id属性来获取插入的文档的_id字段并将其打印。