我想在触发删除API时在文档中添加deletedAt时间戳,而不是从MongoDb中的集合中删除文档。
目前我已经在删除中间件功能
中定义了一个删除服务var delete = function (criteria, callback) { Models.Account.remove(criteria, function(err, resp){
if(err)
return callback(err)
if(resp.result.n === 0)
return callback(null, resp);
callback(err, resp)
});
};
Services.AccountService.delete(criteria, function (err, resp) {
if (err) {
callbackRoute(err)
} else {
console.log(resp.result);
if(resp.result.n === 0)
return callbackRoute(err);
callbackRoute(null, {});
}
})
有人建议在调用deletedAt
函数后如何添加Services.AccountService.delete
时间戳而不是删除文档
答案 0 :(得分:1)
更好的方法是添加deletedAt
和deleted
键并执行软删除。
在执行删除操作而不是删除时,将deleted
的集合保存为true并将deletedAt
更新为当前时间。
通过简单地将deleted
更新为false,您将更容易恢复这些文档。