【发布时间】:2018-08-01 07:51:00
【问题描述】:
我有一个云功能,可以监听集合中的文档更新。如果更新了特殊字段,我想将此文档移动到另一个集合中。
我可以简单地更新文档的位置吗?
或者我必须编写一个包含文档的get()、write()和delete()的事务,还是有更好的解决方案?
这似乎是一个常见的用例,但我找不到任何文档。
【问题讨论】:
标签: node.js firebase google-cloud-functions google-cloud-firestore
我有一个云功能,可以监听集合中的文档更新。如果更新了特殊字段,我想将此文档移动到另一个集合中。
我可以简单地更新文档的位置吗?
或者我必须编写一个包含文档的get()、write()和delete()的事务,还是有更好的解决方案?
这似乎是一个常见的用例,但我找不到任何文档。
【问题讨论】:
标签: node.js firebase google-cloud-functions google-cloud-firestore
Firestore 目前不提供“移动”操作。您必须按照您在问题中建议的操作:在事务中自己复制文档。
【讨论】:
Firebase Firestore 不支持移动数据;最好复制到新的并删除现有的。
如果您的数据是一种交易数据;
确保在事务块中执行操作(仅在 复制成功)
您还可以确保仅当复制节点中存在 [ .validate() ] 时才删除它
【讨论】: