Здравствуйте, ребята, я застрял в обновлении моего MongoDB.Я пробовал много способов для создания этой функции, но каждый раз она возвращается с ошибкой.
это мой последний способ, который я пробовал, который также не работает.
Так вот мой маршрутизатор, где все отлично работает, кроме метода PUT
// Auth Routes
// -----------------------------------------------------------------------------
router.route('/auth/signup')
.post(AuthenticationController.signup);
router.route('/auth/signin')
.post([requireLogin, AuthenticationController.signin])
router.route('/users/:user_id/data')
.get(requireAuth, AuthenticationController.index);
router.route('/users/:user_id/data')
.put(requireAuth, AuthenticationController.update);
вот моя функция обновления, которая, кажется, не работает
// Update user data
exports.update = function (req, res, next) {
user.update(conditions, req.body)
.then(data => {
if (!data) {return res.status(404).end(); }
return res.status(200).json(data)
})
.catch(err => next(err));
// res.json({ data: req.user });
}
И моя пользовательская схема
var userSchema = new Schema({
email: {
type: String,
unique: true,
lowercase: true
},
password: {
type: String
},
userData: [{
role: {
type: String
},
dob: {
type: String
},
firstName: {
type: String,
},
lastName: {
type: String
},
phone: {
type: Number
},
address: [{
number: { type: String },
street: { type: String },
city: { tyle: String },
postcode: { type: String }
}],
}],
userSchema.pre('save', function (next) {
var user = this;
if (user.isNew || user.isModified('password')) {
bcrypt.genSalt(10, function (err, salt) {
if (err) { return next(err) }
bcrypt.hash(user.password, salt, null, function (err, hash) {
if (err) { return next(err) }
user.password = hash;
next();
});
});
} else {
next();
}
});
module.exports = mongoose.model('user', userSchema);