sql >> Databasteknik >  >> NoSQL >> MongoDB

mongoose-uppdatering:$inc fungerar inte i upsert

Du kan inte öka ett värde när det inte finns (ännu). Du kan använda $setOnInsert för att ställa in användarantal till 1 när du infogar dokumentet. Här är dokumenten för $setOnInsert .

Din fråga kommer att se ut så här:

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);
    });


  1. Vad är rätt sätt att arbeta med ISODate i Mongoose

  2. Mongoose anslutning till replik set

  3. Hur söker man i redis efter hash-nycklar?

  4. Geospatialt stöd i MongoDB