mongoose场如何自动增量

我有一个像下面的mongoose模式:

var userSchema = new Shema({ userName: {type: String, default: "ABC"}, lastLoginTime: {type: Date, default: Date.now}, loginTimes: {type: Number, default: 1}, ...... }); 

而且我想更新lastLoginTime,并且在用户每次login时都让loginTimes加1。
很容易更新lastLoginTime ,只是给它一个新的时间string。
但是我怎样才能使loginTimes加一次。

那么你总是可以使用$inc操作符的forms“更新”

 Model.update( { _id: docId }, { "$set": { "lastLoginTime": new Date() }, "$inc": { "loginTimes": 1 } }, function(err,numaffected) { } ) 

这是MongoDB一般的首选方式,因为每个实际更新都有最小的stream量发送。

另请参见.findByIdAndUpdate()方法,因为这可能仅限于一个文档。

另一种方法是使用“预保存”钩子非常笨拙,但是当你不需要像这种更新validation这样的事情时,检索和修改文档似乎很麻烦。