Mongoose Document Model.insertMany()函数
使用 Model.insertMany() 方法可以一次性在集合中插入多个文档。我们可以提供一个对象数组给 insertMany() 方法,并在模型对象上执行。Mongoose会对数组中的所有对象进行验证,如果任何对象存在验证错误,则不会插入任何对象或文档。
语法:
参数:
Model.insertMany() 方法接受三个参数:
- docs: 它是一个包含将要插入集合的对象数组。
- options: 它是一个包含各种属性的对象。
- callback: 它是一个执行完成后将运行的回调函数。
返回值:
Model.insertMany() 函数返回一个 Promise 对象。结果包含一个包含已插入到数据库中的文档详细信息的对象数组。
设置 Node.js 应用程序:
步骤1:
使用以下命令创建一个 Node.js 应用程序:
步骤2: 创建NodeJS应用程序后,使用以下命令安装所需的模块:
项目结构: 项目结构将如下所示:
数据库结构:
数据库结构将如下所示,以下文件存在于集合中。
示例1: 在这个示例中,我们使用mongoose建立了一个数据库连接,并在userSchema上定义了一个模型,有两个列或字段“name”和“age”。最后,我们在User模型上使用了 insertMany() 方法,它将在一次执行中插入三个文档。我们创建了一个包含要插入User集合的文档对象数组。
- app.js: 将以下代码写入app.js文件中:
运行程序的步骤: 从项目的根目录执行以下命令来运行应用程序:
输出:
使用Robo3T GUI工具的数据库的GUI表示:
示例2: 在这个示例中,我们使用mongoose建立了一个数据库连接,并在studentSchema上定义了模型,它具有三个列或字段“name”、“school”和“class”。在这个示例中,我们尝试在一次执行中插入两个文档,但是“class”字段的值(数组的第一个对象)与模式中定义的类型不匹配,这将导致验证错误,并且没有文档会被插入到数据库中。结果是你会得到一个验证错误,并且在数据库中不会插入任何文档。
- app.js: 在app.js文件中写下以下代码:
运行程序的步骤: 从项目的根目录中执行以下命令来运行应用程序:
输出:
使用Robo3T GUI工具的数据库的GUI表示:
参考: https://mongoosejs.com/docs/api/model.html#model_Model-insertMany