Я просто хочу добавить в статью атрибут заголовка разных статей.Мой user.controller.js
файл имеет эту функцию
module.exports.savearticle = (req, res, next) => {
User.findOneAndUpdate(
req._id,
{
$addToSet: { articles: req.body.articles }
},
{
new: true
},
function(err, savedArticle) {
if (err) {
res.send("Error saving article");
} else {
res.json(savedArticle);
}
}
);
};
У меня есть отдельная страница маршрутизатора, index.router.js
, со всеми моими маршрутизаторами, которая включает маршрут для этой функции
router.post("/savearticle", ctrlUser.savearticle);
Imиспользуя Почтальон, чтобы проверить функцию.В форме данных я задаю ключ articles
и значение article1
.Мой ответ таков:
{
"articles": [
null
]
}
Почему он обнуляется?Я сделал console.log(req.body.articles)
и он возвращает undefined
.Почему это undefined
?Разве это не должно сказать article1
?
Это схема, которую я делаю на моей user.model.js
странице
var userSchema = new mongoose.Schema({
fullName: {
type: String,
required: "Full name can't be empty"
},
email: {
type: String,
required: "E-mail can't be empty",
unique: true
},
password: {
type: String,
required: "Password can't be empty",
minlength: [4, "Password must be atleast 6 characters"]
},
saltSecret: String,
articles: Array
});
И это функция регистрации пользователя в user.controller.js
файл
module.exports.register = (req, res, next) => {
var user = new User();
user.fullName = req.body.fullName;
user.email = req.body.email;
user.password = req.body.password;
user.articles = [];
user.save((err, doc) => {
if (!err) {
res.send(doc);
} else {
if (err.code == 11000) {
res.status(422).send(["Duplicate email address found."]);
} else return next(err);
}
});
};