var findByIdAndUpdate = function(id, data, callback){ roomModel.findByIdAndUpdate(id, data, { new: true }, callback); }
User.findByIdAndUpdate(user._id, { $addToSet: { purchasedBookIds: book._id } }).exec();
async.waterfall([ function (callback) { mediaModel.findByIdAndUpdate({ _id: _id }, data, { runValidators: true }, function (err, oldMedium) { if (err) err.type = 'database'; callback(err, oldMedium); }); }, function (oldMedium, callback) { if (data.fileName !== oldMedium.fileName) { var prePath = '../../public/media/' + moment(oldMedium.date).format('YYYYMM') + '/' + oldMedium._id + '/'; var oldPath = path.join(__dirname, prePath + oldMedium.fileName); var newPath = path.join(__dirname, prePath + data.fileName); fs.rename(oldPath, newPath, function (err) { if (err) err.type = 'system'; callback(err); }); } else { callback(null); } } ], callback);
async.waterfall([ function (callback) { categoriesModel.findByIdAndUpdate(_id, data, { runValidators: true }, function (err, category) { if (err) return callback(err);
async.auto({ updatePage: function (callback) { categoriesModel.findByIdAndUpdate(_id, data, { runValidators: true }, function (err, oldPage) { callback(err, oldPage); });
async.auto({ feature: function (callback) { featuresModel.findByIdAndUpdate(_id, data, { runValidators: true }, function (err, oldFeature) { if (err) { err.type = 'database';
}, updateContent: ['checkAlias', function (callback) { contentsModel.findByIdAndUpdate(_id, data, { runValidators: true }, function (err, oldContent) { callback(err, oldContent); });
asyncHandler(async (req, res, next) => { req.body.password = '' delete req.body.password const user = await User.findByIdAndUpdate(req.params.id, req.body, { new: true, runValidators: true, context: 'query' }) if (!user) return next(new ErrorResponse(`No user with that id of ${req.params.id}`)) res.status(200).json({ success: true, data: user }) })
Subscriber.findByIdAndUpdate(subscriberId, { $set: subscriberParams }) .then(subscriber => { res.locals.redirect = `/subscribers/${subscriberId}`; res.locals.subscriber = subscriber; next(); }) .catch(error => { console.log(`Error updating subscriber by ID: ${error.message}`); next(error); });
async likeAnswer(ctx, next) { const me = await User.findById(ctx.state.user._id).select('+likedAnswers'); console.log('me =>', me); const isHave = me.likedAnswers.map(id => id.toString()).includes(ctx.params.id); if (!isHave) { me.likedAnswers.push(ctx.params.id); me.save(); await Answer.findByIdAndUpdate(ctx.params.id, { $inc: { vote_count: 1 } }); } ctx.status = 204; await next(); }
async update(ctx) { ctx.verifyParams({ name: { type: 'string', required: false }, avatar_url: { type: 'string', required: false}, introduaction: { type: 'string', required: false}, }); const topic = await Topic.findByIdAndUpdate(ctx.params.id, ctx.request.body); ctx.body = topic; }
asyncHandler(async (req, res, next) => { const video = await Video.findByIdAndUpdate(req.params.id, req.body, { new: true, runValidators: true }) if (!video) return next(new ErrorResponse(`No video with that id of ${req.params.id}`)) res.status(200).json({ success: true, data: video }) })
User.findByIdAndUpdate(user._id, { $addToSet: { purchasedBookIds: book._id } }).exec();
asyncHandler(async (req, res, next) => { const category = await Category.findByIdAndUpdate(req.params.id, req.body, { new: true, runValidators: true, context: 'query' }) if (!category) return next( new ErrorResponse(`No category with that id of ${req.params.id}`) ) res.status(200).json({ success: true, data: category }) })
Course.findByIdAndUpdate(courseId, { $set: courseParams }) .then(course => { res.locals.redirect = `/courses/${courseId}`; res.locals.course = course; next(); }) .catch(error => { console.log(`Error updating course by ID: ${error.message}`); next(error); });