问题标签 [marklogic-10]
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.
xml - Cucumber 场景与 ml-unit-test Marklogic 集成
我们正在使用 Marklogic 10 进行后端开发,并且我们正在考虑使用 ml-unit-test 进行单元测试。
我们有带有为后端逻辑编写的附件的黄瓜场景。
是否有可能将黄瓜场景与 ml-unit-test 集成并使用 ml-unit-test runner 为后端验证场景运行测试?
tde - 按操作分组的光学 API 与 CTS 查询性能
我通过使用多个字段使用以下两个查询组
与类似数据集的 CTS 查询相比,在此 Optic 查询中花费的时间更少。如果基于 TDE 的光学查询,那么它如何花费更多时间。
marklogic-10 - marklogic 中是批量提取出口还是入口?
什么是 marklogic 中的批量提取和批量升级作业?这些被称为出口还是入口?我知道这些定义,但不知道在哪里匹配它。
odbc - 使用 Marklogic 在 Tableau 中每次都会提示错误“重新连接到...”
我们正在使用 Tableau 桌面报告要求,以使用 TDE 和 ML ODBC 驱动程序可视化 Marklogic DB 数据。
我们使用了连接到 Tableau 桌面的步骤,如
https://docs.marklogic.com/guide/sql/tableau
我们能够成功连接到 Tableau Desktop 并将数据视为表格。
但是,当我们处理数据时,经常会出现一个弹出窗口,要求重新连接到数据库。我们尝试使用 Extract 和 Live 选项来获取表,但出现了同样的问题。
有没有办法防止这个弹出窗口被提出?
marklogic - 通过 Java API 保存的十进制属性值的 XDMP-RANGEINDEX 错误
对于我们存储在 MarkLogic 中的每个 XML,我们将计算值存储在文档的关联属性中。这些值之一是可能很大的十进制值。这导致了异常,因为 Marklogic Java API 正在以 MarkLogic 服务器不喜欢的方式格式化它发送到 MarkLogic 服务器的 XML 中的数字。
我们在存储在属性中的“TotalObligatedAmount”元素上设置了范围元素索引:
下面的 Java 代码重现了我们看到的问题:
这会导致以下异常:
Java API 正在生成并发送到服务器的属性数据 XML 是:
将属性序列化为 XML 时,十进制值 18,912,626.00 被转换为字符串 1.8912626E7,MarkLogic 服务器拒绝该字符串。
我能够单步执行代码以了解如何将双精度转换为字符串。com.marklogic.client.impl.ValueConverter
进行转换并使用方法将javax.xml.bind.DatatypeConverter.printDouble()
Double 转换为“1.8912626E7”字符串(最终使用 String.valueOf(doubleValue) 方法。
有谁知道我该如何解决这个问题?我需要在服务器上进行更改或配置 Java API 的方法吗?
我使用的是 5.2.0 版的 Java API 和 10.0-8.1 版的 MarkLogic 服务器。
xquery - Marklogic - 光学 API:按值连接视图(op:on 不支持值,仅支持列引用)
我正在尝试使用该功能加入两个视图“ A ”和“ B ”。op:join-left-outer
对于 JOIN,我有两个“开启条件”:
- 第一个是一个简单的
op:on
函数。(而不是我的问题的一部分) - 第二个应该是按值 (
$myValue
) 连接列的 ON 条件。但op:on
不支持值,仅支持列引用。所以下面的代码不起作用:
在 SQL 中,我会这样写:
我的问题: 有没有办法在 Optic API 中做同样的事情,还是我做错了什么?
marklogic-9 - fn.subsequence 在光学 API 中的工作方式不同
在我的程序中,我需要通过一些 json 属性加入 2 个或更多集合。
当我只运行 subsequence 方法时,它返回 json 对象数组,但是当我op.fromLiterals
在我的光学计划中使用它时,它返回一个文档 uri 列表。
我无法使用该方法op.fromSearch
,因为我无法升级到更高的 MarkLogic 版本。
我需要这样的东西才能工作:
但现在 items 是一个文档位置列表(document_1.json),这段代码给了我一个错误:
XDMP-ARGTYPE: xdmp.documentGet(cts.doc("/Documents/document_1.json"))
解决方案:我以这种方式将属性推送到结果中: results.push({id: doc.toObject()["document_id"]}); 它的工作正常。
marklogic - 无法创建视图,尽管添加了权限,但没有权限
我在插入模板时遇到问题。当我运行tde.templateInsert
它时,它返回 Invalid permission 作为响应,但我在数据库设置中启用了三重索引并向用户添加了权限(同时添加了tde-admin
和tde-view
)。
我正在逐步遵循本教程:https ://developer.marklogic.com/learn/template-driven-extraction/
这是整个错误消息:
[javascript] SEC-INVALIDPERM: xdmp:document-insert("/test/myFirstTDE.json", document{object-node{"template":object-node{"context":text{"/Companies"}, .. .}}}, (json:object(<json:object xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance" .../>), json:object(<json:object xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3 .org/2001/XMLSchema-instance" .../>), json:object(<json:object xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http: //www.w3.org/2001/XMLSchema-instance" .../>), ...), ("TDE", "http://marklogic.com/xdmp/tde")) -- 权限无效
堆栈跟踪在第 8 行未定义在 xdmp:document-insert("/test/myFirstTDE.json", document{object-node{"template":object-node{"context":text{"/Companies"}, . ..}}}, (json:object(<json:object xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001 /XMLSchema-instance" .../>), json:object(<json:object xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www. w3.org/2001/XMLSchema-instance" .../>), json:object(<json:object xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http ://www.w3.org/2001/XMLSchema-instance" .../>), ...), ("TDE", "http://marklogic.com/xdmp/tde"))
在第 58 行的 /MarkLogic/tde.xqy 中 在 template-insert#4("/test/myFirstTDE.json", Document({"template":{"context":"/Companies", "collections":["source1 "], "rows":[...]}}), [{capability:"read", roleId:"16742763111021671912"}, {capability:"update", roleId:"3680293911625886504"}, {capability:"read ", roleId:"3680293911625886504"}, ...], "TDE")
marklogic - 如何处理 tde 模板中的空数组类型标量
我需要使用 tde 模板处理一些有时缺少数据的文档。但仍需要在表格中显示。但是我的模板在返回带有空数据的文档时遇到了问题。
对于此数据提取,响应为:
但我也需要为没有地址的客户获取响应数据,如下所示:
我是否需要创建第二个视图来处理文档中的名称,然后将其加入地址视图?多个联接会对性能产生影响吗?