小编Tan*_*r B的帖子

基于 MarkLogic 查询的视图:构建动态列

这个问题来自这里关于我在 TDE 和光学计划设置中面临的用例的现有问题: MarkLogic Optic API:模板视图配置的动态更新支持

我的模板视图配置中有以下字段用于表MyTable和架构MyView:

<column>
   <name>currentDateTime</name>
   <scalar-type>dateTime</scalar-type>
   <val>fn:current-dateTime()</val>
   <nullable>true</nullable>
   <invalid-values>ignore</invalid-values>
</column>
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建与此列等效的基于查询的视图,以便每次针对此视图运行光学计划时动态更新此值,但我在使用 MarkLogic 提供的当前文档时遇到了问题。

我使用文档中概述的以下查询创建基于查询的视图,并将其 XML 输出作为文档插入到我的架构数据库中:

op:from-view("MyTable", "MyView")
   => op:select(("currentDateTime"))
   => op:generate-view("DataHub", "myQBV")
Run Code Online (Sandbox Code Playgroud)

但是,当我查询这个新视图时,日期时间时间戳保持静态并且不会动态更新。

这是我的光学查询:

let $QBV := op:from-view("DataHub", "myQBV")
return $QBV
 =>op:select((op:view-col("myQBV", "currentDateTime")))
 =>op:result()
Run Code Online (Sandbox Code Playgroud)

我是否必须设置额外的步骤才能currentDateTime在光学计划后动态更新该值?

我以具有 data-view-admin 角色的用户身份保留 QBV XML。

marklogic

1
推荐指数
1
解决办法
205
查看次数

标签 统计

marklogic ×1