【问题标题】:MarkLogic : create temporal collection in a specific databaseMarkLogic:在特定数据库中创建临时集合
【发布时间】:2019-03-18 00:35:37
【问题描述】:

MarkLogic 版本:9.0-6.2

我的要求是在 FINAL 数据库上启用双时间,所以我创建了所需的字段范围索引和轴。最后,我创建了一个时间集合,如下所示(在以 data-hub-FINAL 作为所选数据库的查询集合中执行)

const temporal = require("/MarkLogic/temporal.xqy");
const collectionResult = temporal.collectionCreate(
"customer", "system-axes", "valid-axes");

但是,我注意到临时集合的范围也扩展到了 STAGING DB。当我尝试通过传递“客户”集合在 STAGING DB 上执行常规 xdmp.documentInsert 时,我收到错误消息,因为客户集合是临时的,所以我无法传递集合名称。

我通过使用不同的集合名称 (customerStaging) 来解决问题,但这是 temporal.collectionCreate 的预期行为吗?有没有办法可以将临时集合限制为一个 DB,以便我可以在其他 DB 中使用与非临时集合相同的集合?

请提出建议。

【问题讨论】:

    标签: marklogic marklogic-9 marklogic-dhf


    【解决方案1】:

    临时设置存储在附加到内容数据库的架构数据库中。听起来您没有使用最新的 DHF,它具有单独的最终模式和单独的暂存模式数据库。您最好升级到最新版本才能使用它。

    或者,您可以考虑使用通用单时/双时集合,以及单独的逻辑集合,如“客户”。一个文档可以有多个集合。

    HTH!

    【讨论】:

      猜你喜欢
      • 2020-07-05
      • 2022-06-12
      • 2011-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多