Заранее благодарю за внимание к этой тривиальной проблеме, на которой я совершенно запутался. Я работаю над проектами 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, как эта строка вообще попадает туда?