查询 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")
输出:
我们存储了以下文档
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")
输出: