Couchbase 如何获取数组中不包含具有特定值的对象的文档

Couchbase 如何获取数组中不包含具有特定值的对象的文档,couchbase,nickel,Couchbase,Nickel,例如,我有两个文档: { communication: "some data 1" users: [ { name: 'Peter', role: 'admin' gender: 'male' }, { name: 'John', role: 'guest' gender: 'male' } ] } { communication: "some data 2" user

例如,我有两个文档:

{
  communication: "some data 1"
  users: [
    {
      name: 'Peter',
      role: 'admin'
      gender: 'male'
    },
    {
      name: 'John',
      role: 'guest'
      gender: 'male'
    }
  ]
}


{
  communication: "some data 2"
  users: [
    {
      name: 'Kollins',
      role: 'admin'
      gender: 'male'
    },
    {
      name: 'Steve',
      role: 'moderator'
      gender: 'male'
    }
  ]
}
最后,我必须获得在用户数组中没有角色为“guest”的用户的文档。根据两份文件的示例,我必须获得第二份文件。 伪代码类似于:
选择*from bucket where users.role='guest'缺失

您需要将用户数组映射到,并检查是否有用户

SELECT * FROM bucket WHERE NOT EXISTS ARRAY users FOR user IN users 
WHEN user.role='guest' END