Я разрабатываю веб-приложение, используя MEAN Stack с Angular 6. Там, если пользователь ранее добавил данные в базу данных, эти данные должны быть обновлены.Для этого я использовал findOneAndUpdate()
метод. Но без обновления существующих данных он отправляет другой набор данных в базу данных.
Это мой маршрут сообщения.Это 'userName' происходит из другой схемы.
router.post('/save', function(req, res) {
var mod = new rdaColor(req.body);
rdaColor.findOneAndUpdate(
{
userName: req.body.userName,
colorMovementBox: req.body.colorMovementBox
},
req.body,
{ upsert: true, new: true },
function(err, data) {
if (err) {
console.log(err);
res.send(err);
} else {
res.send(mod);
}
}
);
});
Это схема.
var mongoose = require('mongoose');
// Schema for rda color panel
var rdaColorSchema = new mongoose.Schema({
userName: {
type: String
},
colorMovementBox: {
type: String,
},
});
module.exports = mongoose.model('rdaColor', rdaColorSchema);
Это вывод для следующего файла console.log.
console.log("mod"+mod+" "+(req.body));
output
mod{ _id: 5bbd68344619a612b07a688e,
userName: 'abc@yahoo.com',
colorMovementBox: 'rgb(49,64,116)',
} [object Object]
Как сделать это только для обновления данных.