簡體   English   中英

列表中嵌入的ArangoDB查詢屬性

[英]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將是未知的。 它應該可以閱讀documentdocument.articledocument.article

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM