使用insertMany在Mongodb中插入一个文档

时间:2017-04-04 16:39:17

标签: mongodb

我很困惑为什么Mongodb需要2种不同的方法insertManyinsertOne来插入数据。为什么只使用insertMany?如果您要插入一个文档,例如{ a: 1 },那么insertMany([{ a: 1 }])之类的文字可能与insertOne({ a: 1 })的功能完全相同,对吧?

插入一个文档时,它们之间是否存在性能差异?

关于其他CRUD功能的相同问题,任何想法都表示赞赏!提前谢谢!

1 个答案:

答案 0 :(得分:0)

如果您要同时插入多个文档并且它们位于数组中,那么insertmany()会更快,而不是对500个文档反复使用insertone()。 (根据PHP或任何其他语言的循环而不是一次性操作)。

有一些警告:

  1. Mongodb将您限制为1000次操作@一次。注意它是操作而不是文档。如果有超过1000次操作的费用,Mongodb应该拆分它们。这当然成为可用内存的一个功能,可以影响很多事情(汇集)等。
  2. 您必须在数组中正确格式化文档才能使insertmany()正常工作。
  3. 基本相同的想法适用于所有CRUD操作。这是速度但记忆(与Mongo一样)是一个关键因素。