@Incold

Почему Mongoose find() возращает пустой массив?

Здравствуйте! Недавно начал изучать стэк Node.js+MongoDB(Mongoose) и столкнулся с проблемой, метод find всегда возвращает пустой массив, хотя данные в коллекции присутствуют
const mongoose = require("mongoose");
const schemas = require('./dbSchemas');
const enviroments = require('./enviroment');

module.exports = {
  getMenu(res) {
    //dbUrl = "mongodb://localhost:27017/Pizza"
    mongoose.connect(enviroments.dbUrl, { useNewUrlParser: true,  useUnifiedTopology: true });
    const Menu = mongoose.model('menu', schemas.menuSchema);

    Menu.find({}).exec() // callback также, не работает
      .then(menu => {
          console.log(menu) // здесь выводит пустой массив
          res.send(menu);
        })
        .catch(err => {
          res.send(err);
        })
        .finally(() => {
          mongoose.disconnect();
        })
  }
}


Схема:
menuSchema: new Schema({
    pizzaName: {
      type: String,
      required: true
    },
    ingridients: {
      type: [String],
      required: true
    },
    price:  {
      type: Number,
      required: true,
    }
  })

А вот, что выводит консоль mongoDB:
5ee154921c51b966609963.png
Единственный момент, все данные я заносил вручную через консоль, если это как-то влияет на mongoose, то как исправить?
Почему всегда приходит пустой массив, если данные в коллекции есть?
Заранее, спасибо за любую помощь!
  • Вопрос задан
  • 229 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы