MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongoose-Update:$inc funktioniert nicht im Upsert

Sie können einen Wert nicht erhöhen, wenn er (noch) nicht existiert. Sie können $setOnInsert verwenden um user_count festzulegen auf 1 beim Einlegen des Dokuments. Hier sind die Dokumente für $setOnInsert .

Ihre Abfrage sieht folgendermaßen aus:

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