最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Mongoose:Model.create和Collection.insert之间有什么区别

运维笔记admin13浏览0评论

Mongoose:Model.create和Collection.insert之间有什么区别

Mongoose:Model.create和Collection.insert之间有什么区别

我想在MongoDB中做一个批量插入作业,我在mongoose中找到了两种方法:

一种方法是使用insert

dataArr = [
   {
       id: "",
       name: ""
   }
   {
       id: "",
       name: ""
   }
]

Collection.insert(dataArr)

另一种方式是Model.create

Model.create(dataArr)

两者都可以完成批量插入工作,但它们之间有什么区别?

哪一个效率更高?

回答如下:

在Mongoose中,有Model.createCollection.insert(后者不是Mongoose的严格组成部分,而是基础的MongoDB驱动程序)。

根据Mongoose开发人员的说法,当使用一系列文档调用它们时,它们就是basically the same,虽然查看代码会让我觉得存在细微差别(警告:我没有仔细查看代码,所以我可能会误认为以下):

  • 使用Model.create将调用模式中声明的任何验证器/钩子;
  • Model.create为数组中的每个文档执行.save,从而生成N数据库调用(其中N是数组中的文档数); Collection.insert执行一次大型数据库调用;
发布评论

评论列表(0)

  1. 暂无评论