【MongoDB】CRUD操作 之 插入文档

目录

一、插入单个文档

二、插入多个文档

三、插入操作特征

1. 创建集合

2. _id字段

3. 原子性

4. 写确认

四、插入文档方法

1. insert方法

2. 其他方法


本文以mongo shell为例,介绍插入文档。

创建集合

如果集合不存在,则插入操作将创建该集合。

 

一、插入单个文档

db.collection.insertOne()将单个文档插入到集合中。

下面的示例:将一个新文档插入到inventory集合。如果文档未指定_id字段,则MongoDB自动将ObjectId值的_id字段添加到新文档中。请参阅insert行为

db.inventory.insertOne(

   { item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } }

)
 

 

insertOne()返回包含新插入的文档的_id字段值的文档。有关返回文档的示例,请参见db.collection.insertOne()

要查看插入的文档,请查询集合

db.inventory.find( { item: "canvas" } )

 

二、插入多个文档

3.2版新增功能。

db.collection.insertMany()将多个文档插入到一个集合中。插入时将文档数组传给该方法。

下面的示例:将三个新文档插入inventory集合。如果文档未指定_id字段,则MongoDB自动向每个文档添加ObjectId值的_id字段。

db.inventory.insertMany([

   { item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } },

   { item: "mat", qty: 85, tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } },

   { item: "mousepad", qty: 25, tags: ["gel", "blue"], size: { h: 19, w: 22.85, uom: "cm" } }

])

insertMany()返回包含新插入的文档_id字段值的文档。有关示例,请参考

要查看插入的文档,请查询集合:

db.inventory.find( {} )

 

三、插入操作特点

1. 创建集合

插入时如果该集合不存在,则插入操作将创建该集合。

2. _id字段

在MongoDB中,存储在集合中的每个文档都需要一个唯一的_id字段作为主键。如果插入的文档省略_id字段,则MongoDB驱动程序会自动为_id字段生成ObjectId值。

同上,通过upsert:true通过更新操作插入的文档也会自动生成_id字段。

3. 原子性

MongoDB中的所有写操作都是单文档级别的原子操作。有关MongoDB和原子性的更多信息,请参见原子性与事务

4. 写确认

对于写关注,可以指定MongoDB向写操作请求的确认级别。有关详细信息,请参见写关注

更多请参阅:

 

四、插入文档的方法

1. insert方法

MongoDB提供了以下将文档插入到集合中的方法:

db.collection.insertOne() 

将单个文档插入集合中

db.collection.insertMany()

将多个文档插入一个集合中

db.collection.insert()

将一个或多个文档插入到集合中

 

2. 其他方法

以下方法也可以将新文档添加到集合中:

有关更多方法和示例,请参见各个方法的详细介绍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值