查询 int 以在 cosmos db 中搜索?

Query int for searching in cosmos db?

我们存储了以下文档

Document 1- { "Sample1":1, "Sample2":"SampleData" }

Document 2- { "Sample1":10, "Sample2":"Sample" }

Document 3- { "Sample1":3, "Sample2":"Sample" }

我们必须查询,如果用户搜索 1 那么它应该 return 两个文档,我们不知道 cosmos db 中存储了哪种类型的数据。 这个应该怎么查询

select * from c where contains(c.Sample1, 1) 

没有 returning 任何结果,对于字符串我必须使用 contains 谁能帮助我如何使用 contains 查询 int?

谢谢, 施拉达·阿格拉瓦尔

为什么你必须使用 Contains 因为它不是 array,你可以简单地写一个 where 子句,

SELECT p
    FROM products p
    WHERE p.Sample1 = 1

编辑:

正如Jay 上面提到的,您可以使用User Defined 函数。您可以使用的另一种方法是 STARTSWITH

SELECT c.id FROM c
where STARTSWITH(udf.convertToString(c.Sample1),"1")

尽管您的要求真的很奇怪,但我提供了一个解决方法,即在 cosmos db 中使用 UDF 功能。

创建用户定义函数:

function userDefinedFunction(val){
    return val.toString()
}

然后使用sql:

SELECT c.id FROM c
where CONTAINS(udf.convertToString(c.Sample1),"1")

输出: