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

Aktualizace a vrácení dokumentu v Mongodb

collection.update() bude hlásit pouze počet dokumentů, které byly ovlivněny svým vlastním zpětným voláním.

Chcete-li získat dokumenty během úprav, můžete použít collection.findOneAndUpdate() místo toho (dříve .findAndModify() ).

collection.findOneAndUpdate(
    { "code": req.body.code },
    { $set: req.body.updatedFields },
    { returnOriginal: false },
    function (err, documents) {
        res.send({ error: err, affected: documents });
        db.close();
    }
);

returnOriginal možnost (nebo new s Mongoose) umožňuje určit, která verze nalezeného dokumentu (původní [výchozí] nebo aktualizovaná) bude předána zpětnému volání.

returnDocument: "before" | "after" funguje pro verzi 3.6.9 .

Zřeknutí se odpovědnosti:Tato odpověď aktuálně odkazuje na ovladač Node.js od verze 3.6. Po vydání nových verzí zkontrolujte jejich dokumentaci, zda neobsahuje možná nová upozornění na ukončení podpory a doporučené alternativy.



  1. Úrovně nejistoty MongoDB a jak se jim vyhnout

  2. Chyba:Žádná podpora unixového socketu v systému Windows připojujícím mongodb

  3. MongoDB $isoWeek

  4. Jak získat přístup k MongoDB