2016-08-23 49 views
0

我們正在使用帶有nodejs的rethinkdb。我有一個用戶表,我希望得到我想要的所有isActive用戶其不在userdetail表rethinkdb獲取不在其他文檔中的所有記錄

用戶表

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

現在所有isActive用戶除了ID 1和2

因此,我已經嘗試過下面的查詢,但它的n OT工作

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

回答

2

看來,這可能要

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()) 
    }) 
}) 

什麼雖然它可能不表現非常好,

相關問題