快速问题:在mongo (或任何数据库)中,upsert查询是比insert + update查询更好的选择。
如果找到文档,upsert ->将查找并更新文档,否则将插入新文档。我读过一些文章,说这会让生活变得更容易,而且性能也很有效。(本质上有两个操作) insert ->检查文档是否存在,如果不存在,则-> insert document否则抛出错误。(2个操作) update将与insert相反。(再次进行2次操作)
从这个角度看,upsert似乎是一个更好的选择,但是如果我的数据很少更新,该怎么办呢?使用insert & update查询还是使用upsert操作更有意义?
发布于 2017-10-23 05:12:53
如果您主要插入新数据,但偶尔在这些数据中可能会有您知道要更新的文档,那么upsert将使您不必编写额外的错误处理或检查例程。在这种情况下,它会“更好”。不过,这确实取决于您的数据和您希望如何处理异常。确保您可以在没有警告的情况下更新文档,并且不存在您希望插入因现有数据而失败的情况。
https://stackoverflow.com/questions/42361768
复制相似问题