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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Задание 1

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

Задание 2

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