Почему экспресс-сервер возвращает пустой массив? - PullRequest
0 голосов
/ 09 октября 2019

Не могу понять, почему сервер возвращает пустую строку. Запустив сервер на локальном порте 3000, имя базы данных - «коктейли», имя коллекции - «Коктейли». Сервер подключается к базе данных нормально.

сервер:

const express = require("express");
const app = express();
const bodyParser = require("body-parser");
const cors = require("cors");
const mongoose = require("mongoose");
const PORT = process.env.PORT || 3000;
let Cocktail = require("./schemas/cocktail.model");
const router = express.Router();

const URL =
  "mongodb+srv://owner:<password>@cluster0-i3tky.mongodb.net/test?retryWrites=true&w=majority";

app.use(cors());
app.use(bodyParser.json());

mongoose
  .connect(URL, { useUnifiedTopology: true, useNewUrlParser: true })
  .then(console.log("MongoDB database connection has been established."))
  .catch(err => {
    console.log(err);
  });

router.get("/", (req, res) => {
  Cocktail.find({}, (err, cocktails) => {
    if (err) {
      console.log(err);
    } else {
      res.json(cocktails);
    }
  });
});

app.use("/", router);

app.listen(PORT, () => {
  console.log("Server is running on Port: " + PORT);
});

однако, заменяя функцию get на router.get('/', (req,res)=> res.json({msg: 'test works'}) - почтальон возвращает тестовое сообщение.

модель mongoose:

const mongoose = require("mongoose");
const Schema = mongoose.Schema;

let Cocktail = new Schema({
  name: {
    type: String
  },
  ingredients: {
    type: Array
  },
  measurements: {
    type: Array
  }
});

module.exports = mongoose.model("Cocktail", Cocktail, "cocktails");

Почему экспресс-сервер возвращает пустой массив?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...