sql >> Database >  >> NoSQL >> MongoDB

Node.js + MongoDB:voeg er een in en retourneer het nieuw ingevoegde document

UPDATE 2021: Deze aanpak werkt niet meer met het MongoDB-stuurprogramma 4.x. Het retourresultaat van de insertOne bevat alleen een ID en een bevestigingsvlag:https://mongodb.github.io/node-mongodb-native/4.1/interfaces/InsertOneResult.html

Met deze verandering is er GEEN manier om het vereiste gedrag te bereiken. Men moet ofwel een ander DB-verzoek doen of de geretourneerde insertId en originele objectgegevens combineren.

Het response resultaat bevat informatie over of de opdracht succesvol was of niet en het aantal records dat is ingevoegd.

Als u ingevoegde gegevens wilt retourneren, kunt u response.ops proberen , bijvoorbeeld:

db.collection('mycollection').insertOne(doc, function (error, response) {
    if(error) {
        console.log('Error occurred while inserting');
       // return 
    } else {
       console.log('inserted record', response.ops[0]);
      // return 
    }
});

Officiële documentatie voor insertOne :

http://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#insertOne

De callback typ:

http://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#~insertOneWriteOpCallback

Het result typ:

http://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#~insertOneWriteOpResult



  1. Vind MongoDB-records waar het matrixveld niet leeg is

  2. Hoe datum per kwartaal te groeperen?

  3. Array-object bijwerken op basis van id?

  4. MongoDB, verwijder object uit array