Arango AQL查询NOT IN

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

我正在创建一个类似Facebook的网站,我想为在同一学校学习的用户推荐朋友,但还不是朋友。

我已经尝试做这个AQL查询,但似乎有一个语法问题。

返回的错误代码是

语法错误, "user._key不在(for friend in...) "附近的意外标识符在3: 3位置(解析时)

for user in users
  filter user._key != "myself"
    user._key not in (for user in 1..1 outbound "users/myself" friendship return user) 
      user._key not in (for user in 1..1 outbound "users/myself" schoolStudies return user)
    return user
database arangodb web-site-project aql arangojs
1个回答
0
投票

如果你想应用几个过滤标准,你必须通过逻辑组合他们 AND (或其 && 操作者)

FOR user IN users
  FILTER user._key != "myself" AND
    user._key not in (for user in 1..1 outbound "users/myself" friendship return user) AND
    user._key not in (for user in 1..1 outbound "users/myself" schoolStudies return user)
  RETURN user

或者你可以使用单独的FILTER子句

FOR user IN users
  FILTER user._key != "myself"
  FILTER user._key not in (for user in 1..1 outbound "users/myself" friendship return user)
  FILTER user._key not in (for user in 1..1 outbound "users/myself" schoolStudies return user)
  RETURN user
© www.soinside.com 2019 - 2024. All rights reserved.