[英]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.