由于findOne的一些奇怪的原因,Mongoose保存不起作用

时间:2016-06-16 15:06:56

标签: node.js mongodb mongoose

Gig.findOne({
  _id: data.gig
}).populate(populate).exec(function(err, gig) {
  gig.lastChatTime = Date.now();
  gig.lastChatBy = params.by;
  gig.meta.chats += 1;
  return gig.save(function(err) {
    return console.log(err);
  });
});

当我执行.save时,它不会保存,但它也不会出错。是什么给了什么?

1 个答案:

答案 0 :(得分:1)

尝试这样的事情

Gig.findOne({
  _id: data.gig
}).populate(populate).exec(function(err, gig) {
   if(gig){

      Gig.update({_id: gig._id},
                 {
                   lastChatTime : Date.now(),
                   lastChatBy : params.by,
                   meta.chats : meta.chats+ 1
                 },
                 {
                   runValidators: true
                 },function(err){
                 if(err){
                   throw err;
                 }
        );
  }
});