[英]ArangoDB Query Attribute Embedded in List
我有一个嵌入在列表中的文档,我需要查询与一系列字符串的值匹配的文档。
我的文件:
如您所见,我有一份常规文件。 在该文档中是“类别”,每个文档的长度未知。 内部类别我有“信心”和“头衔”。 我需要查询以查找具有与ArrayList中的标题列表匹配的标题的文档。 我认为可行的查询是:
FOR document IN documents FILTER document.categories.title IN @categories RETURN article
@categories是一个带有标题列表的ArrayList。 如果ArrayList中的任何标题都在文档中,我希望它被返回。
此查询似乎返回null
。 我认为它没有达到将ArrayList与我文档中的“title”字段进行比较的水平。 我知道我可以使用[#]
访问“类别”列表,但我不知道如何在“类别”中搜索“标题”。
查询
FOR document IN documents
FILTER document.categories.title IN @categories
RETURN article
如果document.categories
是标量,它将起作用,但如果document.categories
是一个数组,它将无法工作。 原因是IN
运算符左侧的数组不会自动展开。
要查找文档,可以按如下方式重写查询:
FOR document IN documents
FILTER document.categories[*].title IN @categories
RETURN document
要么
FOR document IN documents
LET titles = (
FOR category IN document.categories
RETURN category.title
)
FILTER titles IN @categories
RETURN document
除此之外,除非有一个名为article
的集合,否则article
将是未知的。 它应该可以阅读document
或document.article
。 document.article
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.