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

Mongoose findOneAndUpdate e upsert restituisce nessun errore, nessun documento interessato

A partire da Mongoose 4+, non dimenticare di impostare nuovo:vero insieme a upsert o otterrai il vecchio documento come valore di ritorno, non quello aggiornato.

Questo è abbastanza complicato soprattutto quando la richiesta crea un documento, come se non specifichi new:true, ricevi un documento nullo (non c'era un documento esistente), ma nessun errore.

    var myObj = ...;
    collection.findOneAndUpdate(
    {uniqueAttr: myObj.uniqueAttr},
    myObj,
    {upsert: true, new: true},
    function(...) {...}