有没有办法产生以下查询?
{
"user": {
"name": "john",
"tags": ["one", "two", "three"]
}
}
现在给出了一系列标签
["one","two","five"]
我想选择至少有一个与传入标记数组相同的标记的所有用户(如果可能,则为不同)。
答案 0 :(得分:1)
您必须编写用户定义的函数才能执行此操作。例如,我在StackOverflow中搜索了JavaScript数组交集,发现了这个:Simplest code for array intersection in javascript
您可以在集合中将其注册为UDF,然后查询如下:
SELECT * FROM docs WHERE udf.ARRAY_INTERSECTS(docs.tags, ["a", "b", "c"]) != []
但请注意,这需要扫描..