MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Mongodb:projeção de elemento de array com findOneAndUpdate não funciona?


Como os documentos para findOneAndUpdate especificar, você precisa incluir seu objeto de projeção como select propriedade das options parâmetro:
theCollection.findOneAndUpdate(
    {   name : 'cherif',
        'friends.name':'kevin'
    },
    {   $set:{
            'friends.$.age':25
        }
    },
    {   select: { 
            friends: {
               $elemMatch: 
               {   age : 25 } 
            }
        }
    },
    function(err,result){
        if (!err) {
            console.log(result);
        }
    });