查询ins以在cosmos db中搜索?

时间:2019-08-05 05:16:31

标签: int azure-cosmosdb contains

我们已经存储了以下文档

  

文档1- {   “ Sample1”:1,   “ Sample2”:“ SampleData”   }

     

文档2- {   “ Sample1”:10,   “ Sample2”:“样本”   }

     

文档3- {“ Sample1”:3,“ Sample2”:“ Sample”}

我们必须进行查询,就像用户是否搜索1一样,它应该返回两个文档,而且我们不知道cosmos db中存储了哪种类型的数据。 我应该如何查询

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

不返回任何结果,对于字符串我必须使用contains 谁能帮我我必须如何使用包含来查询int吗?

谢谢, Shraddha Agrawal

2 个答案:

答案 0 :(得分:1)

即使您的要求确实很奇怪,我也提供了一种在cosmos db中使用UDF功能的解决方法。

创建用户定义函数:

enter image description here

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

然后使用sql:

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

输出:

enter image description here

答案 1 :(得分:0)

为什么必须使用 Contains 作为它的 array ,您只需编写where子句

SELECT p
    FROM products p
    WHERE p.Sample1 = 1

编辑:

如上所述,Jay可以使用用户定义的功能。您可以使用的另一种方法是STARTSWITH

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