我試圖找到所有用戶除少數,像這樣:MongoDB中查找所有不在此數組中
// get special user IDs
var special = db.special.find({}, { _id: 1 }).toArray();
// get all users except for the special ones
var users = db.users.find({_id: {$nin: special}});
這不起作用,因爲我傳遞給$nin
數組不的ObjectId
和數組但{ _id: ObjectId() }
可變special
數組看起來像這樣在第一次查詢後:
[ { _id: ObjectId(###) }, { _id: ObjectId(###) } ]
但$nin
在第二查詢需要這樣的:
[ ObjectId(###), ObjectId(###) ]
我怎樣才能得到公正的陣列中的的ObjectId()
第一個查詢,這樣我可以在第二個查詢使用它們?
或者,有沒有更好的方法來實現我想要做的事情?
的可能的複製[查找用戶誰沒有邀請任何用戶(http://stackoverflow.com/questions/40626075/find-users-who-has-沒有被邀請的任何用戶) – styvane