один вид соединения запроса в mongoDB, задает в одной коллекции идентификатор, который соответствует, помещает идентификаторы в список (idlist) и находит использование в другой (или такой же) коллекции с помощью $ in: idlist
u = db.friends.find({"friends": ? }).toArray()
idlist= []
u.forEach(function(myDoc) { idlist.push(myDoc.id ); } )
db.friends.find({"id": {$in : idlist} } )
Используйте мультиканал пакет для набирания шифр замка с секретом нескольких потоков в один дуплексный поток. И обработайте ошибки в одном месте.
const pipe = require('multipipe')
// pipe streams
const stream = pipe(streamA, streamB, streamC)
// centralized error handling
stream.on('error', fn)