Python MongoDB 插入文档

Python MongoDB 教程

相关推荐

Python MongoDB 插入文档

2019年6月10日

 意见反馈

MongoDB中的文档与SQL数据库中的记录类似。

插入文档到集合

要将记录(或MongoDB中所称的文档)插入到集合中,可使用insert_one()方法。

insert_one()方法的第一个参数是一个字典,包含了要插入的文档中,每个字段的名称和值。

示例

在“customers”集合内插入记录:

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

mydict = { "name": "John", "address": "Highway 37" }

x = mycol.insert_one(mydict)

复制

返回_id字段

insert_one()方法返回InsertOneResult对象,该对象有一个inserted_id属性,保存了插入文档的id。

示例

在“customers”集合中插入一条记录,并返回_id字段的值:

mydict = { "name": "Peter", "address": "Lowstreet 27" }

x = mycol.insert_one(mydict)

print(x.inserted_id)

复制

插入文档时,如果没有指定_id,将自动分配一个唯一的id。

上面的例子中,没有指定_id字段,MongoDB为记录(文档)分配了一个唯一_id。

插入多个文档

要将多个文档插入集合,可以使用insert_many()方法。

insert_many()方法的第一个参数是一个字典列表,包含了要插入的数据:

示例

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

mylist = [
  { "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"},
  { "name": "Susan", "address": "One way 98"},
  { "name": "Vicky", "address": "Yellow Garden 2"},
  { "name": "Ben", "address": "Park Lane 38"},
  { "name": "William", "address": "Central st 954"},
  { "name": "Chuck", "address": "Main Road 989"},
  { "name": "Viola", "address": "Sideway 1633"}
]

x = mycol.insert_many(mylist)

# 打印文档_id值列表:
print(x.inserted_ids)

复制

insert_many()方法返回InsertManyResult对象,该对象有一个inserted_ids属性,保存了所有插入文档的id

插入多个具有指定id的文档

插入文档时,如果不希望MongoDB为文档分配id,可以指定_id字段。

注意,_id值必须是惟一的,任意两个文档不能具有相同的_id。

示例

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

mylist = [
  { "_id": 1, "name": "John", "address": "Highway 37"},
  { "_id": 2, "name": "Peter", "address": "Lowstreet 27"},
  { "_id": 3, "name": "Amy", "address": "Apple st 652"},
  { "_id": 4, "name": "Hannah", "address": "Mountain 21"},
  { "_id": 5, "name": "Michael", "address": "Valley 345"},
  { "_id": 6, "name": "Sandy", "address": "Ocean blvd 2"},
  { "_id": 7, "name": "Betty", "address": "Green Grass 1"},
  { "_id": 8, "name": "Richard", "address": "Sky st 331"},
  { "_id": 9, "name": "Susan", "address": "One way 98"},
  { "_id": 10, "name": "Vicky", "address": "Yellow Garden 2"},
  { "_id": 11, "name": "Ben", "address": "Park Lane 38"},
  { "_id": 12, "name": "William", "address": "Central st 954"},
  { "_id": 13, "name": "Chuck", "address": "Main Road 989"},
  { "_id": 14, "name": "Viola", "address": "Sideway 1633"}
]

x = mycol.insert_many(mylist)

# 打印文档_id值列表:
print(x.inserted_ids)

复制


Doc navigation

← Python MongoDB 创建集合

Python MongoDB 查找 →

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值