触发删除API时,在文档中添加时间戳

时间:2017-10-30 16:50:46

标签: node.js mongodb mongoose

我想在触发删除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时间戳而不是删除文档

1 个答案:

答案 0 :(得分:1)

更好的方法是添加deletedAtdeleted键并执行软删除。 在执行删除操作而不是删除时,将deleted的集合保存为true并将deletedAt更新为当前时间。 通过简单地将deleted更新为false,您将更容易恢复这些文档。