更新消息字段无效

时间:2017-09-10 10:54:11

标签: javascript node.js mongodb mongoose

我想更新具有相同ID的字段,但不修改字段。我在mongo shell中使用了update,它只更新了一个id但在我的应用程序中我总是得到:

  

{n:1,nModified:0,ok:1}

如何为相同的ID更新字段markedasread:false to markedasread:true?

setMessageAsRead:(req, res) =>{

const _self = this;
const profileId = req.body._profileId;
Messages.aggregate([
    {$match: {
      $and: [

                              {'markedasread': false},
                              {'receiver_id': ObjectId(profileId)}

                       ]
    }

 }
], function(err, unreadData){



  unreadData.forEach((dat)=>{

     Messages.update({ 'receiver_id': ObjectId(dat.receier_id) }, { $set:{'markedasread': true}}).lean().exec(function(err, data){

      console.log(data)


    });
  })


});

我的收藏邮件

 [ { _id: 59aede53a468ce4b93c14e8c,
   receiver_id: 59ad9494d8fe3c3a15605655,
   created_at: 2017-09-05T17:26:43.234Z,
   message: 'ddd\n',
   sender_id: 59a1a21595788a33696d6e93,
   sender_name: 'dudu',
   markedasread: false,
   __v: 0 },
 { _id: 59aede58a468ce4b93c14e8f,
   receiver_id: 59ad9494d8fe3c3a15605655,
   created_at: 2017-09-05T17:26:48.099Z,
   message: 'ddd\n',
   sender_id: 59a1a21595788a33696d6e93,
   sender_name: 'dudu',
   markedasread: false,
   __v: 0 },
 { _id: 59aede66a468ce4b93c14e92,
   receiver_id: 59ad9494d8fe3c3a15605655,
   created_at: 2017-09-05T17:27:02.541Z,
   message: 'dudum',
   sender_id: 59a1a21595788a33696d6e93,
   sender_name: 'dudu',
   markedasread: false,
   __v: 0 },
 { _id: 59aedf36a468ce4b93c14eb1,
   receiver_id: 59ad9494d8fe3c3a15605655,
   created_at: 2017-09-05T17:30:30.417Z,
   message: 'testali\n',
   sender_id: 59a1a21595788a33696d6e93,
   sender_name: 'dudu',
   markedasread: false,
   __v: 0 },
 { _id: 59aee07ea468ce4b93c14ed3,
   receiver_id: 59ad9494d8fe3c3a15605655,
   created_at: 2017-09-05T17:35:58.712Z,
   message: 'dd\n',
   sender_id: 59a1a21595788a33696d6e93,
   sender_name: 'dudu',
   markedasread: false,
   __v: 0 },
 { _id: 59aee9fba468ce4b93c14ef3,
   receiver_id: 59ad9494d8fe3c3a15605655,
   created_at: 2017-09-05T18:16:27.709Z,
   message: 'j\n',
   sender_id: 59a1a21595788a33696d6e93,
   sender_name: 'dudu',
   markedasread: false,
   __v: 0 },
 { _id: 59aeea07a468ce4b93c14ef9,
   receiver_id: 59ad9494d8fe3c3a15605655,
   created_at: 2017-09-05T18:16:39.741Z,
   message: 'hey na\n',
   sender_id: 59a1a21595788a33696d6e93,
   sender_name: 'dudu',
   markedasread: false,
   __v: 0 },
 { _id: 59aeea15a468ce4b93c14eff,
   receiver_id: 59ad9494d8fe3c3a15605655,
   created_at: 2017-09-05T18:16:53.664Z,
   message: 'ddd\n',
   sender_id: 59a1a21595788a33696d6e93,
   sender_name: 'dudu',
   markedasread: false,
   __v: 0 },
 { _id: 59aeea8ea468ce4b93c14f05,
   receiver_id: 59ad9494d8fe3c3a15605655,
   created_at: 2017-09-05T18:18:54.562Z,
   message: 'aa\n',
   sender_id: 59a1a21595788a33696d6e93,
   sender_name: 'dudu',
   markedasread: false,
   __v: 0 },
 { _id: 59af03e6a468ce4b93c14f27,
   receiver_id: 59ad9494d8fe3c3a15605655,
   created_at: 2017-09-05T20:07:02.865Z,
   message: 'dd\n',
   sender_id: 59a1a21595788a33696d6e93,
   sender_name: 'dudu',
   markedasread: false,
   __v: 0 },
 { _id: 59b1c467dccab373056dc3af,
   receiver_id: 59ad9494d8fe3c3a15605655,
   created_at: 2017-09-07T22:12:55.908Z,
   message: 'dd\n',
   sender_id: 59ad9494d8fe3c3a15605655,
   sender_name: 'Gk',
   markedasread: false,
   __v: 0 },
 { _id: 59b30dc7ddf29f85d8f637fe,
   receiver_id: 59ad9494d8fe3c3a15605655,
   created_at: 2017-09-08T21:38:15.092Z,
   message: 'ddda\n',
   sender_id: 59299af157b81e418faf344b,
   sender_name: 'adff',
   markedasread: false,
   __v: 0 },
 { _id: 59b315347708b38677457ce2,
   receiver_id: 59ad9494d8fe3c3a15605655,
   created_at: 2017-09-08T22:09:56.284Z,
   message: 'ddd',
   sender_id: 59ad9494d8fe3c3a15605655,
   sender_name: 'Gk',
   markedasread: false,
   __v: 0 } ]

0 个答案:

没有答案