插入+更新/ Upsert?

时间:2017-02-21 08:06:19

标签: mongodb upsert database

快速提问:在mongo(或任何数据库)中,upsert查询是插入+更新查询的更好选择。

upsert - >查找并更新文档,如果找到,则插入新文档。我读过这篇文章说这会让生活更轻松,也更有效。 (基本上是两个操作) insert - >检查文件是否存在,如果不存在 - >插入文件否则抛出错误。 (2次操作) update将与插入相反。 (再次进行2次操作)

从这个upsert似乎是一个更好的选择,但如果我的数据很少得到更新怎么办?会有insert& update查询更有意义还是upsert操作?

1 个答案:

答案 0 :(得分:1)

如果您主要插入新数据,但偶尔会在该数据中包含您知道要更新的文档,那么upsert将使您不必编写额外的错误处理或检查例程。在那种情况下,它会更好"。但这取决于您的数据以及您希望如何处理异常。确保您可以在没有任何警告的情况下更新文档,并且在任何情况下都不希望插入因现有数据而失败。