sql >> Databasteknik >  >> NoSQL >> MongoDB

Node.js + MongoDB:infoga en och returnera det nyligen infogade dokumentet

UPPDATERING 2021: Det här tillvägagångssättet fungerar inte längre med MongoDB-drivrutinen 4.x. Returresultatet av insertOne innehåller endast ett ID och bekräftelseflagga:https://mongodb.github.io/node-mongodb-native/4.1/interfaces/InsertOneResult.html

Med den här förändringen finns det INGET sätt att uppnå det nödvändiga beteendet. Man bör antingen göra en annan DB-begäran eller kombinera det returnerade insertId och originalobjektdata.

response Resultatet innehåller information om huruvida kommandot lyckades eller inte och antalet infogade poster.

Om du vill returnera infogade data kan du prova response.ops , till exempel:

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 
    }
});

Officiell dokumentation för insertOne :

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

callback typ:

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

result typ:

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



  1. The ABCs of NestJS:En nybörjarguide med MongoDB(Mongoose).

  2. Kan inte hitta dokument som söker med ObjectId med Mongoose

  3. Cloudera Operational Database applikationsutvecklingskoncept

  4. Få flera nyckelvärden från Redis