Node.js 如果数据库失败,mongoose ordered Model.insertMany会向数据库写入任何内容吗?

Node.js 如果数据库失败,mongoose ordered Model.insertMany会向数据库写入任何内容吗?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,在Model.insertMany的文档中,它指出当options.ordered==true时,该方法将在第一个错误时失败 [options.ordered«Boolean»=true]如果为true,将在 遇到第一个错误。如果为false,将插入它所包含的所有文档 您可以稍后查看并报告错误。ordered=false的insertMany()为 称为“无序”insertMany() 它是否: 出现错误且未向数据库写入任何文档。(我想要的) 或 写文档之前发生的错误,有一个错误,然后不

在Model.insertMany的文档中,它指出当options.ordered==true时,该方法将在第一个错误时失败

[options.ordered«Boolean»=true]如果为true,将在 遇到第一个错误。如果为false,将插入它所包含的所有文档 您可以稍后查看并报告错误。ordered=false的insertMany()为 称为“无序”insertMany()

它是否:

  • 出现错误且未向数据库写入任何文档。(我想要的)

  • 写文档之前发生的错误,有一个错误,然后不写更多的文档

options.ordered=true(默认值):

Mongoose总是在发送insertMany到之前验证每个文档 MongoDB。因此,如果一个文档存在验证错误,则不会有任何文档出现验证错误 除非将排序选项设置为false,否则将保存

注意,这不是验证在插入过程中处理异常的方式。

如果所有文件都通过了验证,则来自:

不包括写入问题错误,有序操作在 错误,无序操作继续处理任何剩余操作 在队列中写入操作

注意
insertMany
示例下的最后一段:

请注意,插入了一个文档:id为13的第一个文档 将成功插入,但第二次插入将失败这将 同时停止插入队列中剩余的其他文档

如果ordered to false,则插入操作将以任何方式继续 剩余文件。

你似乎在暗示你需要一份工作。为此,您应该查看您的MongoDB版本是否支持它

options.ordered=false:

由于您明确指定不关心插入顺序,因此它将继续插入,并跳过有异常的插入

也来自:

如果ordered设置为false,则文档将插入无序 格式,mongod可以重新排序以提高性能。 如果使用 无序insertMany()


options.ordered=true(默认值):

Mongoose总是在发送insertMany到之前验证每个文档 MongoDB。因此,如果一个文档存在验证错误,则不会有任何文档出现验证错误 除非将排序选项设置为false,否则将保存

注意,这不是验证在插入过程中处理异常的方式。

如果所有文件都通过了验证,则来自:

不包括写入问题错误,有序操作在 错误,无序操作继续处理任何剩余操作 在队列中写入操作

注意
insertMany
示例下的最后一段:

请注意,插入了一个文档:id为13的第一个文档 将成功插入,但第二次插入将失败这将 同时停止插入队列中剩余的其他文档

如果ordered to false,则插入操作将以任何方式继续 剩余文件。

你似乎在暗示你需要一份工作。为此,您应该查看您的MongoDB版本是否支持它

options.ordered=false:

由于您明确指定不关心插入顺序,因此它将继续插入,并跳过有异常的插入

也来自:

如果ordered设置为false,则文档将插入无序 格式,mongod可以重新排序以提高性能。 如果使用 无序insertMany()