Нужно сделать так, чтобы пользователь №1 получил список тех контактов пользователя №2, которых нет у пользователя №1
В монге можно использовать
$ne и
$nin
Пример:
> db.x.insert({ name: 'linux', user_id: [1] })
> db.x.insert({ name: 'unix', user_id: [2] })
> db.x.insert({ name: 'ubuntu', user_id: [1, 2] })
> db.x.insert({ name: 'windows', user_id: [3] })
> db.x.ensureIndex({user_id: 1}) // Делаем индекс
Сам запрос: все документы пользователя 2, но там где нет пользователя 1
> db.x.find({ user_id: { $eq: 2, $ne: 1 }})
{ "_id" : ObjectId("56695f1e9349d7e6c71d83f1"), "name" : "unix", "user_id" : [ 2 ] }