如何在MarkLogic中识别空值?查找productid为空数组的JSON文档
在MarkLogic中查找productid为空数组的JSON文档
你当前的查询无法得到结果,是因为cts.jsonPropertyValueQuery("productid", "")匹配的是空字符串值,而目标文档里的productid是空数组[],两者不匹配。
要正确匹配空数组的JSON属性,可使用cts.jsonPropertyScopeQuery结合cts.emptyQuery(),示例代码如下:
cts.uris("", null, cts.andQuery([ cts.collectionQuery("collection"), cts.jsonPropertyScopeQuery("productid", cts.emptyQuery()) ]) )
cts.jsonPropertyScopeQuery会限定查询范围到productid属性对应的节点,cts.emptyQuery()则会匹配该节点为空的情况(包含空数组、空对象等空节点类型),这样就能精准定位到目标文档。
内容的提问来源于stack exchange,提问作者swat
相关产品推荐
相关产品推荐

