【问题标题】:Arangodb AQL similar to NOT IN of SQLArangodb AQL 类似于 SQL 的 NOT IN
【发布时间】:2016-06-02 05:26:16
【问题描述】:

如何在 AQL 中像这个 SQL 示例一样执行FILTER

SELECT * FROM test WHERE option NOT IN ('A', 'B', 'C')

【问题讨论】:

    标签: arangodb aql


    【解决方案1】:

    在 v2.3 及以上版本中,可以这样做:

    FOR doc IN test 
      FILTER doc.option NOT IN [ 'A', 'B', 'C' ]
      RETURN doc
    

    在早期版本中,以下应该可以工作:

    FOR doc IN test 
      FILTER ! (doc.option IN [ 'A', 'B', 'C' ])
      RETURN doc
    

    【讨论】:

    • 它可以工作,但如果有! > NOT(...) 的别名就好了。更好的是类似 python 的构造 NOT IN,因此您可以输入您说话/思考的方式并避免使用括号。
    • NOT IN 结构将出现在 ArangoDB 版本 2.3 或 2.4 中,其中包含一些主要的 AQL 重写。
    猜你喜欢
    • 1970-01-01
    • 2017-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多