azure Cosmos Db(需要任何类型的迭代机制)

t98cgbkg  于 2023-01-05  发布在  其他
关注(0)|答案(1)|浏览(152)

我想检查我的文档在对象A中是否具有相同的值,例如:

{
"id": "1234-wrew-1234314"
"_ts": 1672840679
"A": [
        {
            "Id": "123",
            "values": 167273168512
        },
        {
            "Id": "1234",
            "values": 1672731685
        },
        {
            "Id": "123456",
            "values": 1673461685
        }
    ]
}

现在有此文档,我想检查所有是否具有相同的值是否有任何方法可以做到这一点?我已经尝试过:

select EXISTS(
    SELECT VALUE n
    FROM n IN c.A
    WHERE c.A[0].values= c.A[1].values) as a
    from c 
 where c.id ="1234-wrew-1234314"

如果我在对象A中只有2条记录,它工作正常,但我希望泛型解决方案处理对象中的任何数量的记录。我也尝试使用array_contain,但它不工作。提前感谢。

ep6jt1vc

ep6jt1vc1#

这是你需要的吗?

SELECT d.MaxValue = d.MinValue ? 'All the same' : 'Not the same' 
FROM 
(
    SELECT MAX(a.values) AS MaxValue ,
           MIN(a.values) AS MinValue
    FROM   c
    JOIN   a IN c.A
    WHERE  c.id = "1234-wrew-1234314"    
) d

相关问题