2017-05-02 10 views
0

内の特定の値を持つオブジェクトが含まれていない文書を入手する方法、私は2つの文書いる:最後に、私はusers配列の内側に持っていない文書を取得するために例えば、配列

{ 
    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' 
    } 
    ] 
} 

を持っていますuserrole: 'guest'です。 2つの文書の例に基づいて、私は第2の文書を得る必要があります。 擬似コードは次のようである: select * from bucket where users.role = 'guest' is missing

答えて

1

あなたはARRAYで、ユーザーの配列をマッピングし、NOT EXISTS

SELECT * FROM bucket WHERE NOT EXISTS ARRAY users FOR user IN users 
WHEN user.role='guest' END 
を持つユーザがいるかどうかを確認する必要があります