sql >> Databáze >  >> NoSQL >> MongoDB

aktualizace mongoose:$inc nefunguje v upsert

Nemůžete zvýšit hodnotu, když neexistuje (zatím). Můžete použít $setOnInsert nastavte user_count na 1 při vkládání dokumentu. Zde jsou dokumenty pro $setOnInsert .

Váš dotaz bude vypadat takto:

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. MongoDB:Je možné zachytit události TTL pomocí Change Stream pro emulaci plánovače (cronjob)?

  2. Mongo dotaz pomocí mongoidu v aplikaci rails způsobuje chybu časového limitu kurzoru

  3. Jak zkontrolovat, zda Mongo's $addToSet byl duplikát nebo ne

  4. Mongoose dotaz vnořené dokumenty více či méně určité datum