我的文档结构如下
[
{
"id": "1",
"author": "John Smith",
"partNames": [
"PART.5",
"PART.10",
"PART.15",
"PART.30",
"PART.31"
]
...
},
{
"id": "2",
"author": "Mike Smith",
"partNames": [
"PART.4",
"PART.6",
"PART.17",
"PART.18",
"PART.20"
]
...
}
]
并且我尝试实现通过字段author和partNames搜索用户,因此用户可以执行类似]的查询>
SELECT * FROM c WHERE CONTAINS(c.author, 'John')
由于作者的名字是id=1
,因此用户将得到John
文档。
下一步是允许用户按部分要求提供文档,因此,例如,我想接收存在PART.4
的文档,因此查询将为
SELECT * FROM c WHERE ARRAY_CONTAINS(c.partNames, 'PART.4', true)
它返回文档id=2
。
进一步,我想进行查询以允许用户仅键入PART.1
,并且他将收到文档id=1
和id=2
,因为它们都以PART.1
开头。
那么有没有办法实现呢?
我具有如下文档结构[{“ id”:“ 1”,“ author”:“ John Smith”,“ partNames”:[“ PART.5”,“ PART.10”,“ PART.15” ,...
SELECT distinct value c FROM c
join p in c.partNames
where STARTSWITH(p, "PART.1")