我只想在upsert操作中设置用于更新记录的更新时间戳(并为新记录插入时间戳)。

self.model.update({Id: obj.Id}, obj, {upsert: true}, function(err){
    if (err) {
        return;
    }

    //...

});

反正有解决这个问题的方法吗?

我可以使用一个pre.save中间件,但是有什么方法可以判断当前操作是插入还是更新?

提前致谢!

最佳答案

您无法自动执行。您可以在upsert上使用$set: { timestamp: Date.now() }做到这一点。

Mongoose bugtracker中有一个封闭的问题在这里讨论:defaults are ignored on upsert

有点晚了,但希望能对某人有所帮助!

关于node.js - 如何在 Mongoose 的upsert操作中设置更新时间戳?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14693715/

10-11 11:10