问题标签 [marklogic-dhf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
26 浏览

marklogic - 如何在 MLCP 中将我的 URI 转换为具有系统日期

uri 是根据我的分隔输入中的唯一键生成的。但是,为了使文档的版本控制工作,我还要求它具有系统日期时间。任何人都可以帮忙吗?

0 投票
1 回答
93 浏览

marklogic - MarkLogic - Alternatives to using triggers

MarkLogic version : 9.0-6.2

We have a customer collection and a Real Time PUT/POST API that updates each customer document.

Based on the requirement, when a customer phone number is updated, we sometimes have to update the documents of other related customers. For a better response time of the PUT/POST API, we want to update the document to which the change was made and return a success response to the caller, and then, update all other impacted customer documents. Our first thought is to use triggers but coming from relational/RDBMS background, we are looking for any better alternatives to achieve the same. Are there any alternatives to using triggers?

Thanks in advance!

0 投票
1 回答
167 浏览

marklogic - 使用 -output_uri_replace 选项

我正在通过 MLCP 将 JSON 文档加载到 MarkLogic 数据库中。我的输入文件是一个行分隔的 JSON 文件。默认情况下,我的 URI 采用路径/文件名/split_start_seqnum 的形式。我希望 URI 包含特定文档的两个元素的值。

例如,每个文档代表一家餐厅,并且有诸如 restaurant_name、restaurant_zip、restaurant_hours 等元素。我希望 URI 是 restaurant_name 和 restaurant_zip 的某种组合。如何在 MLCP 脚本中对其进行编码?

0 投票
1 回答
40 浏览

marklogic - MarkLogic - 审计要求

MarkLogic 版本:9.0-6.2

我为开放式问题道歉,但期待得到一些建议。

我们使用暂存和最终数据库构建了 DataHub 框架。我们将所有传入的更改按原样保存到 staging 中,并更新最终数据库中数据的最新快照(例如,如果电话号码更改 3 次,则 staging 将拥有全部 3 次,但 final 将只有最新的电话号码)。这满足了我们的运营需求,但最近我们得到了审计要求,以保留更改并运行有关历史更改的报告。

我们的偏好是让 FINAL DB 更轻更简单,因此寻找在 FINAL db 上启用 temporal 的替代方法。我正在考虑的一种选择是将数据从暂存数据库提供给下游审计数据库(关系),但一些团队成员认为数据应该始终从最终数据库提供给消费者,而不是从暂存数据库提供给消费者。将数据从暂存数据库提供给消费者有什么缺点吗?

目前,我们还没有设置来实时处理从最终数据库到下游审计数据库的更新,因此除非激活临时数据库,否则我们将无法从最终数据库提供审计。

提前致谢!

0 投票
1 回答
94 浏览

marklogic - 使用 DHF 协调成非规范化实体

我们正在使用 MarkLogic 9.0.5 和 DHF 3.0,并且我们正在尝试将多个源文档协调为非规范化的形式。但是,我们无法正确获取 xml 表单。

假设我们有一个家庭的源文件和一个家庭成员的源文件。现在,我们要生成一个协调的实体,如下所示:

但是,新的 DHF 结构迫使我们使用 json 对象映射来生成代码,但是我们将数据放入对象中的任何方式都不会像上面那样将其取出。例如:

导致一些 xml 像:

这包含每个族节点两次。关于如何解决这个问题的任何建议?

PS我也尝试过将嵌套的json对象作为参数传递,但显然这会导致dhf流中的错误:

0 投票
1 回答
76 浏览

marklogic-9 - MarkLogic - 内容处理的加载管道出错

MarkLogic 版本 - 9.0-6.2(在 Windows 上)

我正在按照指南 ( https://docs.marklogic.com/guide/cpf/quickStart ) 执行提供的示例练习。在 data-hub-FINAL 上安装 CPF(使用 data-hub-TRIGGERS 作为触发器 db)后,我在我的 C 驱动器目录 C:\copyright 中创建了一个管道 XML 文档(如示例所示)。然后在管理控制台上,我导航到数据库-->data-hub-FINAL--> 内容处理--> 管道--> 加载,并提供以下值。

但是,当我单击“确定”时,我收到错误消息“输入无效:找不到可读的 XML 文件:”

我验证了管道 xml 在目录 C:\copyright 中存在且有效。

任何输入表示赞赏!

0 投票
2 回答
97 浏览

marklogic - MarkLogic - XQuery 语句的顺序处理

我在代码下方运行并期望insert-after函数在insert-before函数之后执行(至少有 2000 毫秒的间隔),因为我的理解是 XQuery 将按顺序执行语句。但是,在运行代码之后,我看到这两个函数创建的两个文档(/content/testbefore.xml/content/testafter.xml)都具有与毫秒匹配的确切时间戳值。

我怎样才能让语句按顺序执行?

0 投票
2 回答
163 浏览

marklogic - MarkLogic CPF- 管道中的条件模块

MarkLogic 版本:9.0-6.2

我们数据库中的所有文档都是 JSON,我们使用 Javascript 来操作数据。我正在尝试创建一个管道,用于识别何时更新 JSON 文档中的电话号码(使用条件模块),然后运行操作模块。到目前为止,我得到了以下代码。

  1. 当我尝试使用管理控制台(过滤器为 filename.json)将此 JSON 作为管道加载时,我收到一条消息“无效输入:找不到可读的 XML 文件:”

    管道是否应该始终是 XML?

  2. 我能够(在 JavaScript 中)编写并成功执行操作模块。我在 XML 管道中对其进行了测试。我也可以用 JavaScript 编写条件模块吗?

  3. 我不确定 MarkLogic 是否提供了一个内置条件模块来识别属性的更改(通过将属性作为参数传递给条件模块)。如果是,您能否指出文档?如果我必须创建自定义条件模块,如何将新旧电话号码传递给模块?条件模块会是什么样子,最好是在 JavaScript 中?

我在 CPF 上找到的大多数文档都是 XML/XQuery。任何指向 JSON/JavaScript CPF 文档的指针都值得赞赏。

提前致谢!

0 投票
0 回答
48 浏览

marklogic - MarkLogic - 将参数传递给 CPF 中的条件和操作模块

我创建了一个带有条件模块和操作模块的管道。在为条件和操作模块编码时,我需要将一些数据从不同的文档传递到条件模块,以便可以将预期的条件评估为 True 或 False。

例如,我的数据库中有两个策略文档(P1 和 P2),我正在更新文档 P1。在调用动作模块之前我要检查的条件是 P1 的保单生效日期是否大于 P2 的保单生效日期。我知道文档 P1 可通过 $cpf-uri 变量在条件和操作模块中使用,但无法将值从 P2 文档传递到条件/操作模块。

有没有办法将参数值传递给管道中的条件和操作模块?

提前致谢!

0 投票
1 回答
68 浏览

marklogic - MarkLogic - 基于 json 路径过滤的 CTS 查询

我在一个集合中有两个 JSON 文档,如下所示

我有一个作为 P1-111 的输入策略编号,并且仅当该策略的 PolicyInfo 下的 PolicystatusCd 为“主要”时才需要返回该文档。所以,我应该只返回 Doc1 而不是 Doc2,因为 Doc2 将政策 P1-111 作为 ClaimInfo 中的主要政策,而不是 PolicyInfo

我正在尝试使用 cts.serch (最好不创建默认通用索引以外的其他索引),但找不到合适的解决方案。

或者,我可以使用 cts.propertyValueQuery 之类的东西来返回两个文档并使用 JavaScipt 过滤掉 Doc2,但检查我是否可以使用 MarkLogic 函数本身完成所有这些操作。

提前致谢!