首页 > 解决方案 > 如何将数据复制到不同的集合中以便在 MarkLogic 中重复使用?

问题描述

我想对我现有的Database-A和数据执行几个操作Collection-1。一旦我执行了所有操作,我将丢失我的原始数据,因为数据将被新数据替换。

我想将不同集合中的整个数据的副本创建Collection-B到同一个数据库Database-A或不同的数据库Test中,这样在以后的阶段我就不会丢失我现有的数据。

有什么建议么?

标签: marklogic

解决方案


文档由数据库和 URI 唯一标识。

馆藏不复制文件。

如果要保留处理阶段,将新数据写入不同的 URI 或数据库(URI 更容易),而不是复制旧数据然后写入新数据(1 doc write vs 2,不需要副本,更安全,因为没有文件被覆盖)。

无论哪种方法,使用 URI“子目录”层次结构都是一种简单且常见的方法。

例如

  • /docs/original/.../名称
  • /docs/stage1/.../名称
  • /docs/stageN/.../名称

这在许多阶段都是灵活的。

如果你使用单独的数据库有更好的隔离,但需要你为每个阶段配置一个新的数据库,并管理权限、索引等。

如果您决定复制而不是写入新数据库,在线文档就如何复制文档提供了很好的示例。


推荐阅读