MarkLogic版本:9.0-6.2
我的要求是在FINAL数据库上启用双时态,因此我创建了所需的字段范围索引和轴。最后,我创建了一个如下的时间集合(在查询conque中以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的预期行为吗?有什么方法可以将临时集合限制为一个数据库,以便可以在其他数据库中使用与非临时集合相同的集合?
请提出建议。
答案 0 :(得分:0)
临时设置存储在内容数据库附带的模式数据库中。听起来您好像没有使用最新的DHF,后者具有单独的最终方案和单独的分级方案数据库。您最好升级到最新版本才能使用它。
或者,您可以考虑使用通用的单时间/双时间集合,以及诸如“客户”之类的单独逻辑集合。一个文档可以有多个集合。
HTH!