Поскольку вы ищете обычного пользователя во всех 5 коллекциях, мы сделаем запрос к коллекции пользователя 1 и используем $ lookup и присоединимся ко всем остальным 4 коллекциям. Вот предложение запроса, которое определенно будет работать.
Вся коллекция пользователей имеет ту же схему, что и упомянутая выше: имя и рабочее поле.
db.getCollection('user1').aggregate({ "$facet": { "presentInAllCollections": [{ "$lookup": { "from": "user2", "localField": "name", "foreignField": "name", "as": "User2" } }, { "$lookup": { "from": "user3", "localField": "name", "foreignField": "name", "as": "User3" } }, { "$lookup": { "from": "user4", "localField": "name", "foreignField": "name", "as": "User4" } }, { "$lookup": { "from": "user5", "localField": "name", "foreignField": "name", "as": "User5" } }] } }, { $project: { "foundUser": { $filter: { input: '$presentInAllCollections', as: 'arrayElement', cond: { "$and": [{ $ne: ['$$arrayElement.User2', []] }, { $ne: ['$$arrayElement.User3', []] }, { $ne: ['$$arrayElement.User4', []] }, { $ne: ['$$arrayElement.User5', []] } ] } } } } })