MongoDB——插入操作详解

2021/11/18 19:40:12

本文主要是介绍MongoDB——插入操作详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

插入文档

向集合中插入一条或多条文档。语法:
db.collection.insert(
	{
		//可选字段
		writeConcern:<document>
		ordered: <boolean>
	},
	{
		//可选字段
		writeConcern:<document>
		ordered: <boolean>
	},
	...
)

db为数据库名,collection为集合名,insert为插入文档命令。

可选字段:

  • writeConcern:自定义写出错确认级别
  • ordered:当值为false时,忽略文档错误,继续执行数组中文档的无序插入。true时(默认值),执行文档中的有序插入,如果某个文档发生错误,命令将返回,不再处理。

返回值:

  • insert插入成功,返回插入文档对象WriteResult({"nInserted":1})
  • insert插入失败,返回结果中会包含WriteResult.writeConcernError对象字段内容,需要与writeConcern配合使用

说明:

  • insert命令,自动产生一个_id值
  • insert命令可以用save命令代替。若给save命令指定_id值,则会更新默认的_id值,例如:db.a.save({_id:1001,x:"OK"})
  • 如果没有指定的集合对象,则第一次insert时自动建立集合;若存在集合,则变成多条文档的集合

插入一条简单文档:
在这里插入图片描述
在这里插入图片描述

插入一条复杂文档:
在这里插入图片描述
在这里插入图片描述

  • insert插入值里可以嵌套文档
  • insert命令也可以包含数组,用于记录分类等信息
  • 文档数据库接受数据冗余问题
  • 如果执行过程出现类似SyntaxError:missing;before statement @(shell)则是输入语法结果存在问题

插入多条文档:

在这里插入图片描述

用变量方式插入文档:

在这里插入图片描述

有序插入多条文档:

在这里插入图片描述

假设在person集合里已经有_id:11的一条记录。那么在执行上述命令时,命令执行将失败。也就是一条文档在_id相同的情况下不能重复插入。

  • 在ordered:true时:如果发生错误,就会终止后面的插入

在这里插入图片描述

  • 在ordered:false时:除了出错记录外,其它记录继续插入

在这里插入图片描述

简化的插入命令

从3.2版本开始,MongoDb支持两种新的文档插入命令:

  1. 一次插入一条数据:db.collection.insertOne()

在这里插入图片描述
在这里插入图片描述

  1. 一次插入多条数据:db.collection.insertMany()

在这里插入图片描述



这篇关于MongoDB——插入操作详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程