Как мне получить 1 из запроса а не массив?

В MongoDB, когда вы выполняете запрос к коллекции данных, результатом по умолчанию является массив документов, удовлетворяющих вашему запросу. Однако, если вы хотите получить всего один документ вместо массива, есть несколько способов это сделать.

Первый способ - использовать метод findOne(). Этот метод возвращает только один документ, первый, который удовлетворяет вашему запросу. Например, если вы хотите получить документ, у которого поле name равно "John", можно использовать следующий код:

db.collection("myCollection").findOne({ name: "John" }, function(err, result) {
  if (err) throw err;
  console.log(result);
});

Второй способ - использовать метод find() и вызвать на нем метод limit() с аргументом 1. Это ограничивает количество возвращаемых документов до одного. Вот пример:

db.collection("myCollection").find({ name: "John" }).limit(1).toArray(function(err, result) {
  if (err) throw err;
  console.log(result);
});

Обратите внимание, что оба этих метода findOne() и find().limit(1) могут возвращать null, если нет ни одного документа, удовлетворяющего вашему запросу.

Также стоит отметить, что получение только одного документа вместо массива может быть полезным, если вы знаете, что ожидаете только один результат запроса и хотите избежать использования массива или обработки его элементов.