首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firestore合并还是覆盖集合?

Firestore合并还是覆盖集合?
EN

Stack Overflow用户
提问于 2021-02-04 09:22:03
回答 1查看 368关注 0票数 2

假设我有当前的Firestore数据:

代码语言:javascript
复制
COLLECTION_1
  DOC_A
  DOC_B
  DOC_C
COLLECTION_2
  DOC_X

我有一些导出的数据,就是:

代码语言:javascript
复制
COLLECTION_1
  DOC_B        // DOC_A IS NOT HERE
  DOC_C
  DOC_D        // DOC_D IS AN "EXTRA"

// COLLECTION_2 IS MISSING

COLLECTION_3   // THERE IS AN "EXTRA" COLLECTION
  DOC_3

当我导入数据数据时会发生什么?会不会出现某种“合并”,或者我的整个Firestore将被导入的数据替换为原样?我正在处理DOC_DCOLLECTIO_3,这是肯定的。但是在导入之后,DOC_ACOLLECTION_2 (导出数据中缺少的那些)还会在那里吗?

PS: --我是在完整导入的上下文中问这个问题的(即:所有集合)。

要导入特定的集合,您似乎需要使用导出特定集合的导出,并且需要使用gcloud将其导入。网络控制台只允许完全导入。无论如何,我认为完整导入的全局“合并或覆盖”行为可能与特定集合上的相同行为相似。

进出口文件

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-05 08:08:28

这是超快的测试。结果是

代码语言:javascript
复制
COLLECTION_1
  DOC_A
  DOC_B
  DOC_C
  DOC_D
COLLECTION_2
  DOC_X
COLLECTION_3 
  DOC_3

一切都是以文件的方式发生的。提到的文件说:

如果具有相同ID的文档已经存在,则导入将覆盖现有文档。 如果数据库中的文档不受导入的影响,则导入后它将保留在数据库中。

而这一切恰恰发生了。导入中存在的文档将被重写,而不存在的文档将被添加。如果文档在Firestore中,而不是在导入中,那么它将保持不变。

顺便说一句,如果您在GUI中测试它,您必须在导入后刷新页面。否则,变化是不可见的(至少发生在我身上)。

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

https://stackoverflow.com/questions/66042678

复制
相关文章

相似问题

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