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

Node.js + MongoDB:vložte jeden a vraťte nově vložený dokument

AKTUALIZACE 2021: Tento přístup již nefunguje s ovladačem MongoDB 4.x. Vrácený výsledek insertOne obsahuje pouze ID a příznak potvrzení:https://mongodb.github.io/node-mongodb-native/4.1/interfaces/InsertOneResult.html

S touto změnou NENÍ ŽÁDNÝ způsob, jak dosáhnout požadovaného chování. Měli byste buď provést další požadavek DB, nebo zkombinovat vrácené insertId a původní data objektu.

response result obsahuje informaci o tom, zda byl příkaz úspěšný či nikoli, a počet vložených záznamů.

Pokud chcete vrátit vložená data, můžete zkusit response.ops , například:

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

Oficiální dokumentace pro 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. Přístup k databázi produkce Meteor

  2. rmongodb:pomocí $nebo v dotazu

  3. Použití StackExchange.Redis v ASP.NET Core Controller

  4. Konfigurace replikace Redis