微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获取多个属性的最大值 CosmosDB

如何解决获取多个属性的最大值 CosmosDB

我有多个 cosmosdb 文档,它们在层次结构中有一个入口点, 我需要根据我提供的级别值选择最接近的匹配项。

底部查询有效,但我现在需要从中选择以返回具有最佳匹配的第一个文档。例如

SELECT c.id,(MAX(p.level1Match,p.level2Match,p.level3Match,p.level4Match)) as match FROM (sub query below) p ORDER by match (Take first) 

查询

(SELECT  
c.id,(c.level1= 'level1Value' ?  1 : 0) as level1Match,(c.level2= 'level2Value' ? 2 : 0) as level2Match,(c.level3= 'level3Value' ? 3 : 0) as level3Match,(c.level4= 'level4Value' ? 4 :0) as level4Match
FROM c
WHERE c.Name = 'NameValue')

但我不知道如何让它与 CosmosDb 一起工作,或者如果这是最好的方法,我们将不胜感激。

更新,根据要求会有多个看起来像这样的文档

{
    "id" : "b2fcac67-b5ee-4646-ac77-f14db8f8fec0","name" : "OrgName","level1" : "Head Office","level2" : "HR","level2" : null,"level3" : null,"level4" : null,"reportDate" : dateTime,"notes" : "","isCurrent" : true
    },{
    "id" : "b2fcac67-b5ee-4646-ac77-f14db8f8fec0","level2" : "Another Branch","level3" : "Staff","isCurrent" : true
    }

因此项目可以位于层次结构中的不同级别,我会将级别作为参数传递以进行匹配。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?