В документации mongodb указано, что если не указывать коллбэк в MongoClient.connect, то нам автоматически возвращается Promise. Далее, collection.find({}) возвращает курсор, но, если обрабатывать курсор одним из методов и не указывать callback, то опять же можно сразу получить Promise. Вооружившись этим можно попробовать сделать так:
MongoClient.connect('mongodb://127.0.0.1:27017/snmp')
.then(db=>
db.collection('collection1').find({}).explain()
.then(explaination=>{
//делаем что-либо с результатами первого запроса
//например можно вернуть какие - либо данные:
return data;
})
.then(data=> //если в верхнем then мы вернули некие данные (data) - они передаются сюда
db.collection('collection2').find({}).explain()
.then(explaination=>{
//можно закрыть соединение
db.close();
//также делаем что-либо с результатами второго запроса
//можно скрестить результаты первого запроса (data) и (explaination) и вернуть результат
return result;
})
)
)