sql >> Database >  >> NoSQL >> MongoDB

Document bijwerken en retourneren in Mongodb

collection.update() rapporteert alleen het aantal documenten dat werd beïnvloed door zijn eigen callback.

Om de documenten op te halen tijdens het wijzigen, kunt u collection.findOneAndUpdate() gebruiken in plaats daarvan (voorheen .findAndModify() ).

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

De returnOriginal optie (of new with Mongoose) laat je specificeren welke versie van een gevonden document (origineel [standaard] of bijgewerkt) wordt doorgegeven aan de callback.

Het returnDocument: "before" | "after" werkt voor versie 3.6.9 .

Disclaimer:dit antwoord verwijst momenteel naar het Node.js-stuurprogramma vanaf versie 3.6. Als er nieuwe versies worden uitgebracht, controleer dan hun documentatie voor mogelijk nieuwe waarschuwingen voor beëindiging en aanbevolen alternatieven.



  1. 4 manieren om een ​​document in MongoDB te verwijderen

  2. ScaleGrid kondigt MongoDB-hostingservices aan in Canada

  3. Aangepaste object-ID maken in MongoDB

  4. Hoe gebruik ik een guid in een mongodb-shellquery?