MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

mise à jour mangouste :$inc ne fonctionne pas dans upsert

Vous ne pouvez pas augmenter une valeur lorsqu'elle n'existe pas (encore). Vous pouvez utiliser $setOnInsert pour définir user_count sur 1 lors de l'insertion du document. Voici la documentation pour $setOnInsert .

Votre requête ressemblera à ceci :

var Appuser = new Appusers({
    imei: req.body.imei,
    install_flag : 1
});

Appusers
    .update({
        imei: Appuser.imei
    }, {
        $set: upsertData,
        $setOnInsert: {
            user_count: 1
        },
        $inc: {
            user_count:1
        }
    }, {
        upsert: true
    }, function(err, data) {
        if(err) return console.log(err);
        res.send(data);
    });