sql >> Database teknologi >  >> NoSQL >> MongoDB

$ projektion i mongoDB findOneAndUpdate()

Problemet var med new: true

Her er et fungerende eksempel:

Campaign.findOneAndUpdate({'isEnabled': true,  'clients.contact_status_code': 0}, {
            '$set': { 'clients.$.contact_status_code': 1 },
        },
        {
            //new: true <-- this was causing the trouble
            projection: {
                clients: {
                    '$elemMatch': {contact_status_code: 0}, // 0 because the old record gets matched
                },
            },
        },
        (err, campaign) => {
            if (err) {
                return res.send(err);
            }

            res.json(campaign);
        }
    );

Jeg går ud fra, når new: true er indstillet, mister mongo den matchende kontekst. Denne tilgang returnerer desværre den gamle post, men det opfylder stadig mine behov for at få _id'et.



  1. Hvordan opretter man Bson-dokument med Null-værdi ved hjælp af C# officielle driver?

  2. Hvordan kan jeg beregne positiv og negativ pris ved hjælp af mongodb eller robomongo?

  3. MongoDB Beregn værdier fra to arrays, sorter og begræns

  4. Sådan administreres konfigurationsskabeloner til dine databaser med ClusterControl