marklogic - MarkLogic 中的“范围”范围查询?
问题描述
鉴于以下文档结构,我需要编写一个查询来查找,例如,所有 > 500 美元的账户。
{
"account": 1,
"assets": [
{
"currency": "USD",
"amount": 600
},
{
"currency": "CAD",
"amount": 1000
},
{
"currency": "EUR",
"amount": 200
}
]
}
使用 Xpath 谓词,它会是这样的:
fn:collection()[//(currency='USD' and amount>500)]
但是,我无法利用范围索引为相同目的创建 cts 查询。我可以天真地为每种货币类型创建一个单独的路径范围索引,但这似乎太多了。
有什么建议么?谢谢!
解决方案
cts.search(cts.jsonPropertyScopeQuery('assets',
cts.andQuery([cts.jsonPropertyValueQuery('currency', 'USD'),
cts.jsonPropertyRangeQuery('amount', '>', 599.99)
])
))
推荐阅读
- python - 即使终端关闭,如何使python脚本继续运行?
- spartacus-storefront - 覆盖 Spartacus refreshToken 方法
- java - @Version 注释无法正常工作
- ruby - ruby 中的谷歌云 api 在上传单个文件时执行失败
- css - Column Flex,子 iframe 100% 高度,显示父滚动
- javascript - 如何从 Electron 应用程序获取活动 URL?
- python - Python - 对于元组(数字,字母),首先对数字进行排序。如果数字相同,则对字母进行排序
- html - 使用 R XML 包进行 Web 抓取 - xpathSapply
- python - 使用matplotlib绘制df时如何在图表上获取x轴标签
- python - 遇到从 Dataflow 管道到 BigQuery 的缓慢流式写入?