получаю ошибку при использовании mongodb в своем скрипте:

C:\Users\Ilya\Downloads\nomer>node main.js
Сервер запущен на порту 3000
Ошибка загрузки номеров телефонов: MongooseError: Operation `phoneNumbers.find()` buffering timed out after 10000ms
    at Timeout.<anonymous> (C:\Users\Ilya\node_modules\mongoose\lib\drivers\node-mongodb-native\collection.js:185:23)
    at listOnTimeout (node:internal/timers:564:17)
    at process.processTimers (node:internal/timers:507:7)
Ошибка подключения к MongoDB: MongooseServerSelectionError: connect ECONNREFUSED ::1:27017
    at _handleConnectionErrors (C:\Users\Ilya\node_modules\mongoose\lib\connection.js:792:11)
    at NativeConnection.openUri (C:\Users\Ilya\node_modules\mongoose\lib\connection.js:767:11)
    at runNextTicks (node:internal/process/task_queues:60:5)
    at listOnTimeout (node:internal/timers:533:9)
    at process.processTimers (node:internal/timers:507:7) {
  reason: TopologyDescription {
    type: 'Unknown',
    servers: Map(1) { 'localhost:27017' => [ServerDescription] },
    stale: false,
    compatible: true,
    heartbeatFrequencyMS: 10000,
    localThresholdMS: 15,
    setName: null,
    maxElectionId: null,
    maxSetVersion: null,
    commonWireVersion: 0,
    logicalSessionTimeoutMinutes: null
  },
  code: undefined
}

дело в том, что я импортировал через compass данные из data.json и переписал скрипт так, чтобы считывать данные уже из mongodb. Я создал базу данных и коллекицю phoneNumbers, которая имеет следующий вид в mongodb:_id
6492d415a91404ad3dbbf693
number
"9649396437"
url
"/phone/<PRESIDIO_ANONYMIZED_PHONE_NUMBER>"

comments
Array
0
"Чмошники, развод, не ведитесь"
callType
""

connection string верный: mongodb://localhost:27017

Сравни разные версии main.js. 

предыдущая версия main.js, где используется data.json:
const express = require("express");
const ejs = require("ejs"); 
const fs = require("fs");

const app = express();

// Установка EJS в качестве шаблонизатора
app.set('view engine', 'ejs');

// Создать маршрут для страницы с информацией о номере телефона
app.get("/phone/:number", (req, res) => {
  const phoneNumbers = JSON.parse(fs.readFileSync("data.json"));
  const phoneNumber = phoneNumbers.find((phone) => phone.number === req.params.number);

  if (phoneNumber) {
    const data = {
      number: phoneNumber.number,
      comments: phoneNumber.comments,
      callType: phoneNumber.callType,
    };
    res.render('phone', data);
  } else {
    res.status(404).send("Номер телефона не найден");
  }
});

// Маршрут для главной страницы
app.get("/", (req, res) => {
  const phoneNumbers = JSON.parse(fs.readFileSync("data.json"));
  const data = {
    phoneNumbers: phoneNumbers,
  };
  const html = ejs.render(fs.readFileSync("views/index.ejs", "utf8"), data);
  
  res.send(html);
});

// Запуск сервера
app.listen(3000, () => {
  console.log("Сервер запущен на порту 3000");
});

текущая версия main.js, где используется подключение по mongodb:
const express = require("express");
const ejs = require("ejs"); 
const mongoose = require("mongoose");

const app = express();

// Установка EJS в качестве шаблонизатора
app.set('view engine', 'ejs');

// Подключение к MongoDB
mongoose.connect('mongodb://localhost:27017/phoneNumbers', { useNewUrlParser: true, useUnifiedTopology: true })
  .then(() => console.log('Подключение к MongoDB установлено'))
  .catch(err => console.error('Ошибка подключения к MongoDB:', err));

// Определение схемы и модели для хранения номеров телефонов
const PhoneNumberSchema = new mongoose.Schema({
  number: { type: String, index: true },
  url: String,
  comments: [String],
  callType: String
}, {
  collection: 'phoneNumbers' // указываем название коллекции
});

const PhoneNumber = mongoose.model('PhoneNumber', PhoneNumberSchema);

// Создать маршрут для страницы с информацией о номере телефона
app.get("/phone/:number", async (req, res) => {
  try {
    const phoneNumber = await PhoneNumber.findOne({ number: req.params.number });
    if (phoneNumber) {
      const data = {
        number: phoneNumber.number,
        comments: phoneNumber.comments,
        callType: phoneNumber.callType,
      };
      res.render('phone', data);
    } else {
      res.status(404).send("Номер телефона не найден");
    }
  } catch (err) {
    console.error('Ошибка поиска номера телефона:', err);
    res.status(500).send('Ошибка на сервере');
  }
});

// Маршрут для главной страницы
app.get("/", async (req, res) => {
  try {
    const phoneNumbers = await PhoneNumber.find().limit(100).sort({ _id: -1 }).exec();
    const data = {
      phoneNumbers: phoneNumbers,
    };
    const html = ejs.render(fs.readFileSync("views/index.ejs", "utf8"), data);
    res.send(html);
  } catch (err) {
    console.error('Ошибка загрузки номеров телефонов:', err);
    res.status(500).send('Ошибка на сервере');
  }
});

// Запуск сервера
app.listen(3000, () => {
  console.log("Сервер запущен на порту 3000");
});