【问题标题】:Insert + Update / Upsert ?插入 + 更新 / Upsert ?
【发布时间】:2017-02-21 08:06:19
【问题描述】:

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

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

从这个upsert 看来是一个更好的选择,但如果我有很少更新的数据怎么办。 insert & update 查询或upsert 操作更有意义吗?

【问题讨论】:

    标签: mongodb upsert database


    【解决方案1】:

    如果您主要插入新数据,但偶尔在这些数据中可能有一个您知道要更新的文档,那么 upsert 将让您不必编写额外的错误处理或检查例程。在这种情况下,它会“更好”。不过,它确实取决于您的数据以及您希望如何处理异常。确保您可以在没有警告的情况下更新文档,并且不存在由于现有数据而导致插入失败的情况。

    【讨论】:

    • 以相同的概念结束! ^_^
    猜你喜欢
    • 2021-06-02
    • 2013-02-23
    • 2011-02-12
    • 2017-01-16
    • 2010-09-19
    • 2019-09-07
    • 1970-01-01
    • 2016-11-21
    相关资源
    最近更新 更多