问题标签 [marklogic-9]
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.
marklogic - MarkLogic 9 事务行为解决方法
考虑这段代码:
文件 /private/test.xml 在执行前不存在。我希望这段代码返回插入的文档,但什么也不返回。
我认为这是因为在进行 fn:doc() 调用时文档尚未提交。该文档表明更新语句中的更新不可见,因此我认为这是预期的行为,尽管这是违反直觉的行为。
但是,这种奇怪的行为需要在将提交作为事务中的最后一条语句之前在内存中计划和进行所有更新,本质上强制所有更新功能以协调的方式工作。当然,这在设计模块化软件时会产生问题,因为它在执行功能之间强制执行强相互依赖性。
我找到的解决方法如下:
由于每个 invoke-function() 调用都在其自己的事务中执行,因此这是可行的。这对于我当前的用例来说还可以,但它肯定会改变应用程序的行为,并且可能会破坏许多其他情况的一致性要求。
我的问题:有没有更好的解决方法
谢谢你,K。
marklogic - marklogic中的分层目录结构
X-Query 或 Node-JS 客户端 API 中是否有任何功能可以获取 Marklogic 9 中的目录列表或文件的分层视图?
marklogic - 手动更新托管文档而不增加版本
我想手动更新托管文档而不增加新版本。
我注意到更新 uri 引用的文档不会传播到最新版本指向的文档 - 我需要直接在最新版本中进行另一个更新。
这种黑客行为是否有任何不良后果或我错过了什么?
curl - 使用 REST api 将文档摄取到 marklogic 中出现未经授权的错误?
我正在使用 REST APi 从我的 Windows 机器将文档摄取到 marklogic 到Test
我已经创建的数据库中。
但我收到这样的错误:
我的 curl 语法有什么问题吗?
更新卷曲命令:
marklogic - 有没有办法让 xdmp:ldap-search() 函数使用 appserver 外部 LDAP 配置
对于我的应用程序,我使用应用程序级别的身份验证,对于某些用户,我想从活动目录中获取一些信息。
我已经使用为我们的活动目录创建的“外部证券”配置设置了一个 http 服务器。
我尝试按如下方式使用该功能:
不幸的是,尽管它应该返回任何东西,但它并没有返回任何东西,也没有给出任何错误消息。但是,如果我像下面那样明确指定用户名、密码、ldap 服务器等,它就可以工作(好吧,对于大多数情况,如果响应不包含重音字符):
显然,选项 true 没有按我的预期工作。但是,它也被考虑在内,因为如果我将其设置为 false,则会返回错误。
我确信我在管理页面上将配置的 ldap 服务器的值设置为与上面工作示例中使用的值相同。
这是一个错误吗?或者,我错过了什么?
非常感谢,K。
marklogic - Marklogic 9:使用转换导入记录时 MLCP 失败
我正在尝试将我的一个开发环境从 ML8 迁移到 ML9。我有一个可以在 ML8 版本上成功运行的导入脚本,但是当我尝试针对 ML9 数据库运行它时出现错误。ML9 版本是 9.0.3.1。MLCP 版本为 9.0.3
我的 MLCP 选项文件如下:
这是测试运行的输出,测试 CSV 文件中只有 2 条记录:
如果我删除转换参数,导入工作正常。
我认为这可能是我的转换模块本身的解析问题,所以我尝试用文档中的以下示例替换它:
(当然我相应地更改了 MLCP 选项文件中的参数)
即使仅使用此测试功能,问题仍然存在。
有什么建议吗?
node.js - Marklogic 9 + Roxy:无法使用 Node.js 连接到创建的数据库
我正在试用 Roxy 部署程序。Roxy 应用程序是使用默认应用程序类型创建的。我设置了一个新的 ML 9 数据库,并使用默认端口(8040 和 8041)运行“ml local bootstrap”
然后我设置了一个节点应用程序。我尝试了以下(来自https://docs.marklogic.com/jsdoc/index.html的示例代码)
运行脚本给了我一个错误,例如:
如果我将端口更改为 8000(插入到 Documents 中的默认应用服务器),则节点函数将按预期正确执行。我不确定是否需要使用 Roxy 创建的应用服务器配置其他任何内容,以便它与 node.js 应用程序一起使用。
我不确定错误消息中的“DELETE_IF_UNUSED”部分来自哪里。Roxy 生成的配置文件中似乎没有任何此类文本。
编辑:通过浏览器访问 192.168.33.10:8040 时,我得到一个带有类似错误的 xml:
如果重要的话,MarkLogic 版本是 9.0-3.1。这也是一个全新的安装。
有什么建议吗?
java - Marklogic 的路径范围查询中不区分大小写的搜索
我们如何对路径范围查询进行不区分大小写的搜索?我想对路径进行不区分大小写的搜索:
路径范围搜索的示例查询格式,我需要将此路径范围查询搜索设置为不区分大小写:,我是否需要在为它创建的索引中进行更改?
以下是范围路径索引:
java - 替换 MarkLogic 中已弃用的 KeyValueQueryDefinition 以使用 Query By Example
我有一个保存在 MarkLogic 中的文档,如下所示:
与弃用(KeyValueQueryDefinition)一起使用的代码如下所示:
我得到的输出是:
我从下面的链接中获得了帮助,使其与新的 Marklogic 9 版本一起工作,因为KeyValueQueryDefinition
最新版本已弃用。
是否有变体来更改此处的KeyValueQueryDefinition 代码
使用 QBE 搜索以下链接中提到的文档:
关于如何解决这个问题的任何建议?