(Пн goose Модель) не является ошибкой конструктора - PullRequest
0 голосов
/ 06 мая 2020

Заранее благодарю за внимание к этой тривиальной проблеме, на которой я совершенно запутался. Я работаю над проектами FreeCodeCamp Node.js и MongoDB, и у меня проблемы с моделью Mon goose. Вот обработчик POST, который вызывает проблему:

const User = require('./models/user')

...

app.post('/api/exercise/new-user', (req, res) => {
      var newUser = new User({name: req.body.username});
      console.log("newUser", newUser);
      newUser.save();
      res.json({
        message: "New user created!",
        username: newUser.name,
        user_id: newUser._id
      });
    })

А вот user.js:

const mongoose = require('mongoose');

exports.User = mongoose.model("User", new mongoose.Schema({
  name: { type: String, required: true }
}));

Что происходит, когда я делаю запрос POST на этом /api/exercise/new-user, это мой браузер просто отображает текст с надписью User is not a constructor. Вот весь проект Glitch , так что вы можете видеть остальную часть контекста (его не так много). Если вы покажете приложение в Glitch и используете ввод «Создать нового пользователя», вы сможете воссоздать проблему. Насколько я могу судить, у меня нет каких-либо странных ошибок с заглавными буквами, но, конечно же, вы все время упускаете это!

Второй вопрос: как я вижу это? в том, что он отображается в браузере как просто эта строка, а не в моей консоли или что-то в этом роде? Насколько я понимаю, единственный ответ, который я отправляю, - это JSON, как эта строка вообще попадает туда?

1 Ответ

0 голосов
/ 06 мая 2020

Ну, это было очень просто! В моем server.js файле, где я обрабатываю запрос POST, я просто неправильно импортировал модель User, я пошел от этого:

const User = require('./models/user')

К этому:

const { User } = require('./models/user')

Упс! Надеюсь, это может дать кому-то еще представление о том, что может пойти не так в их собственном коде, если они столкнутся с этим.

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