Варианты синтаксиса MongoDB

Работа с MongoDB, как и все остальное в NodeJS, имеет несколько вариантов синтаксиса: через async-await, через then и через коллбэки.

Вы можете столкнутся с любым из этих вариантов, поэтому в этом уроке я покажу все синтаксисы. Но в следующих уроках я буду пользоваться первым вариантом, как более современным.

Первый синтаксис

Первый синтаксис получения данных вы уже знаете из предыдущего урока:

let res = await coll.find().toArray(); console.log(res);

Неплохо будет добавить обработку исключительных ситуаций. Сделаем это:

try { let res = await coll.find().toArray(); console.log(res); } catch (error) { console.log(error); }

Второй синтаксис

Вот второй вариант промисного синтаксиса:

coll.find().toArray().then(res => { console.log(res); });

Добавим обработку исключений:

coll.find().toArray().then(res => { console.log(res); }).catch(error => { console.log(error); });

Третий синтаксис

Вот третий вариант через коллбэки:

coll.find().toArray((error, res) => { console.log(res); });

Добавим обработку исключений:

coll.find().toArray((error, res) => { if (!error) { console.log(res); } else { console.log(error); } });

Практические задачи

Попробуйте все три варианта синтаксиса.

Расскажите достоинства и недостатки каждого из видов синтаксиса.