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

Node.js + MongoDB:indsæt en og returner det nyligt indsatte dokument

OPDATERING 2021: Denne tilgang virker ikke længere med MongoDB-driveren 4.x. Returresultatet af insertOne indeholder kun et ID og bekræftelsesflag:https://mongodb.github.io/node-mongodb-native/4.1/interfaces/InsertOneResult.html

Med denne ændring er der INGEN måde at opnå den påkrævede adfærd. Man bør enten lave en anden DB-anmodning eller kombinere det returnerede insertId og originale objektdata.

response resultat indeholder information om, hvorvidt kommandoen var vellykket eller ej, og antallet af indsatte poster.

Hvis du vil returnere indsatte data, kan du prøve response.ops , for eksempel:

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

Officiel dokumentation for insertOne :

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

callback type:

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

result type:

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



  1. MongoDB aggregeres inden for daglig gruppering

  2. MongoDB $millisekund

  3. Sådan får du adgang til MongoDB

  4. Omdiriger output af mongo-forespørgsel til en csv-fil