用于过滤 2 个嵌套值的 AQL 查询

问题描述 投票:0回答:1

我有一份包含一些翻译的文档。我想从一个查询中获取两种语言,而不必运行两次。 两个的原因是英语是默认的,如果其他选定的语言没有翻译,则将使用英语。

所以我的结构如下,我不知道如何过滤,以便我只获得选定的语言,例如“en”和“es”。从数组中排除所有“de”值。

texts:{
  id1:{
    "en":"welcome",
    "es":"bienvenido",
    "de":"Willkommen "
  },
  id2{
    "en":"good bye",
    "es":"adios",
    "de":"tschüss"
  }
}

例如,如果我想要英语和西班牙语的“欢迎”文本,查询会是什么样子。我将传递“id1”作为单词,“en”和“es”作为键。 这就是我被困的地方,我只是不知道如何进行过滤。

FOR doc IN translations
FILTER doc.texts.id1.... == "en" AND "es" .....

RETURN doc

如果这很重要的话,我正在从 PHP 运行 AQL 查询。

感谢您的帮助,谢谢!

php arangodb aql
1个回答
0
投票

尝试一下:

FOR doc IN translations
FILTER (doc.texts.id1.en != NULL) AND (doc.texts.id1.es != NULL)

RETURN doc
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.