Форма настроек - хороший пример.Mongoose: Обновление некоторых/всех полей в коллекции Mongodb
Внести, соответствующая коллекция должна быть обновлена; и 1, некоторые, все или все поля должны быть обновлены.
Предполагая, что я не ошибаюсь, Mongoose:
- Игнорирует поля, которые не определены в схеме.
- Выполняет некоторую низкоуровневую проверку в поле на основе схемы (т. Е. Отклоняет (игнорирует?) Значение, которое не соответствует типу).
Значит, это означает, что следующее: целесообразно?
.put(function(req, res, next) {
if (mongoose.Types.ObjectId.isValid(req.params._id)) {
Collection.update({_id: req.params._id}, { $set: req.body}, function (err, collection) {
if (err) return next(err);
res.send(200, {success: true});
})
}else{
res.send(400, {success: false});
}
})
Передача req.body
непосредственно в обновлении?
Это, безусловно, работает, но я не могу не чувствовать, что он мало нуждается в проверке/фильтрации? Является ли мангуста достаточным в своей схеме для такого подхода? Или я должен выполнять итерацию по каждому ожидаемому полю?
Я с удовольствием создаю несколько тестов, но думал, что я проверил бы с сообществом и проверил бы мой подход - любые предложенные альтернативы с благодарностью получили.