快速提问:在mongo(或任何数据库)中,upsert查询是插入+更新查询的更好选择。
upsert
- >查找并更新文档,如果找到,则插入新文档。我读过这篇文章说这会让生活更轻松,也更有效。 (基本上是两个操作)
insert
- >检查文件是否存在,如果不存在 - >插入文件否则抛出错误。 (2次操作)
update
将与插入相反。 (再次进行2次操作)
从这个upsert
似乎是一个更好的选择,但如果我的数据很少得到更新怎么办?会有insert
& update
查询更有意义还是upsert
操作?
答案 0 :(得分:1)
如果您主要插入新数据,但偶尔会在该数据中包含您知道要更新的文档,那么upsert将使您不必编写额外的错误处理或检查例程。在那种情况下,它会更好"。但这取决于您的数据以及您希望如何处理异常。确保您可以在没有任何警告的情况下更新文档,并且在任何情况下都不希望插入因现有数据而失败。