You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MarkLogic Node.js查询的withOptions中指定map选项以获取键值对?

实现MarkLogic查询结果的Map格式返回

要让查询结果以指定的键值对Map(JSON对象)形式返回,只需在withOptions中添加format: 'map'配置,同时注意索引的顺序——键对应的索引要放在fromIndexes的第一个位置,值对应的索引放在第二个位置。修改后的代码如下:

dbRead.values.read(
  vb.fromIndexes(
    vb.range(vb.property(uriElementName), vb.datatype('string')),
    vb.range(vb.property(versionElementName), vb.datatype('unsignedLong'))
  )
  .where(query)
  .withOptions({
    values: ['descending'],
    format: 'map' // 配置返回格式为Map
  })
)

关键细节说明:

  • format: 'map'会触发MarkLogic将结果封装为JSON对象,第一个range索引(uri字段)的取值作为对象的键,第二个索引(version字段)的取值作为对应键的值。
  • 若查询存在重复键的匹配项,JSON对象会自动保留排序后优先级最高的那个值(因为JSON不允许重复键)。
  • 必须保证两个range索引的顺序与你期望的键值对应关系一致,否则会出现键值颠倒的情况。

内容的提问来源于stack exchange,提问作者Avinash Shukla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 15:34:58