想问一下mongodb中save和insert和create用哪个好呢?

image.png
主要是想问一下create方法,百度好像大家都没有提及过这个方法,官方文档我找了下也没找到关于create的介绍(可能我疏忽了);

他们3个好像都能进行插入操作,一般情况下用谁呢?
或者说在哪些情况下用哪个比较好?
一个功能就有那么多方法,初学有点晕。。

阅读 3.4k
2 个回答

这不是 MongoDB 提供的,而是 Mongoose 封装的便捷方法。

  • insert: 主键不存在则正常插入;主键已存在,抛出 DuplicateKeyException 异常。
  • save: 主键不存在则正常插入;主键已存在则更新。
  • insertMany:批量插入,等同于批量执行 insert
  • create:批量保存,等同于循环执行 save

具体用哪个看你的业务需要。

P.S. 批量即一次性执行全部命令;循环即顺次执行单个命令。类似于 MySql 里 INSERT INTO TABLE ('id') VALUES (1); INSERT INTO TABLE ('id') VALUES (2); 分两次插入两条和 INSERT INTO TABLE ('id') VALUES (1), (2); 一次性插入两条的区别。

插入文档底层都一样,那只是你用的框架封装的不同而已,要去查看框架的文档。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题