2016-08-23 5 views
0

Wir verwenden rethinkdb mit nodejs. Ich habe eine Benutzertabelle, und ich will alle isActive Benutzer erhalten, die Tabellerethinkdb bekommen alle Datensatz nicht in anderen Dokument

Benutzertabelle

{ 
"id": "1" , 
"fName": "A" , 
"lName": "B" , 
"isActive": true 
} 
{ 
"id": "2" , 
"fName": "C" , 
"lName": "D" , 
"isActive": true 
} 
{ 
"id": "3" , 
"fName": "E" , 
"lName": "F" , 
"isActive": true 
} 
{ 
"id": "4" , 
"fName": "G" , 
"lName": "H" , 
"isActive": false 
} 
{ 
"id": "5" , 
"fName": "I" , 
"lName": "J" , 
"isActive": true 
    } 

Userdetails

{ 
"id": "12" , 
"users": [{"userId":"1"},{"userId":"2"}] 
} 

Jetzt möchte ich alle isActive Benutzer nicht in userdetail sind außer mit ID 1 und 2

so habe ich folgende Abfrage versucht, aber seine n ot Arbeits

r.db("mydb").table("users").filter(function(u) 
{ return r.db("mydb"). 
table("userdetails")("userId").contains(u("id")   
).not(); }) 

Antwort

2

Es scheint das, was Sie

r.table('userdetails')('users').concatMap(r.row('userId')).coerceTo('ARRAY').do(
    function(userdetails) { 
    return r.table('user').filter(function(user) { 
     return user('isActive').and(userdetails.contains(user('id')).not()) 
    }) 
}) 

möchten Obwohl es nicht sehr gut

durchführen kann
Verwandte Themen