首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么使用"update“而不是”设置合并“呢?

为什么使用"update“而不是”设置合并“呢?
EN

Stack Overflow用户
提问于 2021-01-27 05:56:54
回答 2查看 1.3K关注 0票数 0
代码语言:javascript
运行
复制
set with merge will update fields in the document or create it if it doesn't exists

update will update fields but will fail if the document doesn't exist

总是使用集合合并不是更容易吗?

价格略有不同吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-27 13:54:59

在set、merge和update之间,用例存在差异。

您可以在这个职位上找到有关这方面的详细信息。

关于定价,如这里所述

每个集合或更新操作都算作一个单独的写操作,并将根据区域进行计费。

=========================================================================

编辑:

选择使用哪种操作在很大程度上取决于用例,就像您在批处理更新中使用"set merge“一样,您的请求将成功地更新所有现有文档,但也会为不存在的ids创建虚拟文档,这有时不是您想要的。

在进一步研究之后,我们还可以添加另一个不同之处:

  • set merge将始终用您传递的数据覆盖数据,而
  • update是专门为您提供了执行文档部分更新的可能性,而不需要创建您的代码不准备处理的不完整文档。请检查答案,以及场景。
票数 0
EN

Stack Overflow用户

发布于 2021-01-28 07:58:00

不同之处在于,.set(data,{merge:true})将更新文档(如果文档存在,则为),如果文档没有,则创建文档。

如果文档不存在,.update()将失败。

但是为什么.update()仍然存在?可能是为了向后兼容性。我相信使用merge:true的.set()是在比.update()晚的时候引入的。正如您已经指出的,set/merge更通用。我使用它来代替.update()和.add()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65913605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档