Node.js MongoDB -Einfügung


In Sammlung einfügen

Um einen Datensatz oder ein Dokument , wie es in MongoDB genannt wird, in eine Sammlung einzufügen, verwenden wir die insertOne()Methode.

Ein Dokument in MongoDB ist dasselbe wie ein Datensatz in MySQL

Der erste Parameter der insertOne()Methode ist ein Objekt, das Name(n) und Wert(e) jedes Felds im Dokument enthält, das Sie einfügen möchten.

Es benötigt auch eine Callback-Funktion, mit der Sie mit Fehlern oder dem Ergebnis des Einfügens arbeiten können:

Beispiel

Fügen Sie ein Dokument in die Sammlung "Kunden" ein:

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  var myobj = { name: "Company Inc", address: "Highway 37" };
  dbo.collection("customers").insertOne(myobj, function(err, res) {
    if (err) throw err;
    console.log("1 document inserted");
    db.close();
  });
});

Speichern Sie den obigen Code in einer Datei namens „demo_mongodb_insert.js“ und führen Sie die Datei aus:

Führen Sie "demo_mongodb_insert.js" aus

C:\Users\Your Name>node demo_mongodb_insert.js

Was Ihnen dieses Ergebnis geben wird:

1 document inserted

Hinweis: Wenn Sie versuchen, Dokumente in eine nicht vorhandene Sammlung einzufügen, erstellt MongoDB die Sammlung automatisch.



Mehrere Dokumente einfügen

Um mehrere Dokumente in eine Sammlung in MongoDB einzufügen, verwenden wir die insertMany()Methode.

Der erste Parameter der insertMany()Methode ist ein Array von Objekten, das die einzufügenden Daten enthält.

Es benötigt auch eine Callback-Funktion, mit der Sie mit Fehlern oder dem Ergebnis des Einfügens arbeiten können:

Beispiel

Fügen Sie mehrere Dokumente in die Sammlung "Kunden" ein:

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  var myobj = [
    { name: 'John', address: 'Highway 71'},
    { name: 'Peter', address: 'Lowstreet 4'},
    { name: 'Amy', address: 'Apple st 652'},
    { name: 'Hannah', address: 'Mountain 21'},
    { name: 'Michael', address: 'Valley 345'},
    { name: 'Sandy', address: 'Ocean blvd 2'},
    { name: 'Betty', address: 'Green Grass 1'},
    { name: 'Richard', address: 'Sky st 331'},
    { name: 'Susan', address: 'One way 98'},
    { name: 'Vicky', address: 'Yellow Garden 2'},
    { name: 'Ben', address: 'Park Lane 38'},
    { name: 'William', address: 'Central st 954'},
    { name: 'Chuck', address: 'Main Road 989'},
    { name: 'Viola', address: 'Sideway 1633'}
  ];
  dbo.collection("customers").insertMany(myobj, function(err, res) {
    if (err) throw err;
    console.log("Number of documents inserted: " + res.insertedCount);
    db.close();
  });
});

Speichern Sie den obigen Code in einer Datei namens „demo_mongodb_insert_multiple.js“ und führen Sie die Datei aus:

Führen Sie "demo_mongodb_insert_multiple.js" aus

C:\Users\Your Name>node demo_mongodb_insert_multiple.js

Was Ihnen dieses Ergebnis geben wird:

Number of documents inserted: 14

Das Ergebnisobjekt

Beim Ausführen der insertMany()Methode wird ein Ergebnisobjekt zurückgegeben.

Das Ergebnisobjekt enthält Informationen darüber, wie sich das Einfügen auf die Datenbank ausgewirkt hat.

Das aus dem obigen Beispiel zurückgegebene Objekt sah folgendermaßen aus:

{
  result: { ok: 1, n: 14 },
  ops: [
    { name: 'John', address: 'Highway 71', _id: 58fdbf5c0ef8a50b4cdd9a84 },
    { name: 'Peter', address: 'Lowstreet 4', _id: 58fdbf5c0ef8a50b4cdd9a85 },
    { name: 'Amy', address: 'Apple st 652', _id: 58fdbf5c0ef8a50b4cdd9a86 },
    { name: 'Hannah', address: 'Mountain 21', _id: 58fdbf5c0ef8a50b4cdd9a87 },
    { name: 'Michael', address: 'Valley 345', _id: 58fdbf5c0ef8a50b4cdd9a88 },
    { name: 'Sandy', address: 'Ocean blvd 2', _id: 58fdbf5c0ef8a50b4cdd9a89 },
    { name: 'Betty', address: 'Green Grass 1', _id: 58fdbf5c0ef8a50b4cdd9a8a },
    { name: 'Richard', address: 'Sky st 331', _id: 58fdbf5c0ef8a50b4cdd9a8b },
    { name: 'Susan', address: 'One way 98', _id: 58fdbf5c0ef8a50b4cdd9a8c },
    { name: 'Vicky', address: 'Yellow Garden 2', _id: 58fdbf5c0ef8a50b4cdd9a8d },
    { name: 'Ben', address: 'Park Lane 38', _id: 58fdbf5c0ef8a50b4cdd9a8e },
    { name: 'William', address: 'Central st 954', _id: 58fdbf5c0ef8a50b4cdd9a8f },
    { name: 'Chuck', address: 'Main Road 989', _id: 58fdbf5c0ef8a50b4cdd9a90 },
    { name: 'Viola', address: 'Sideway 1633', _id: 58fdbf5c0ef8a50b4cdd9a91 } ],
  insertedCount: 14,
  insertedIds: [
    58fdbf5c0ef8a50b4cdd9a84,
    58fdbf5c0ef8a50b4cdd9a85,
    58fdbf5c0ef8a50b4cdd9a86,
    58fdbf5c0ef8a50b4cdd9a87,
    58fdbf5c0ef8a50b4cdd9a88,
    58fdbf5c0ef8a50b4cdd9a89,
    58fdbf5c0ef8a50b4cdd9a8a,
    58fdbf5c0ef8a50b4cdd9a8b,
    58fdbf5c0ef8a50b4cdd9a8c,
    58fdbf5c0ef8a50b4cdd9a8d,
    58fdbf5c0ef8a50b4cdd9a8e,
    58fdbf5c0ef8a50b4cdd9a8f
    58fdbf5c0ef8a50b4cdd9a90,
    58fdbf5c0ef8a50b4cdd9a91 ]
}

Die Werte der Eigenschaften können wie folgt angezeigt werden:

Beispiel

Gibt die Anzahl der eingefügten Dokumente zurück:

console.log(res.insertedCount)

Was zu diesem Ergebnis führen wird:

14

Das _id-Feld

Wenn Sie kein _idFeld angeben, fügt MongoDB eines für Sie hinzu und weist jedem Dokument eine eindeutige ID zu.

Im obigen Beispiel _idwurde kein Feld angegeben, und wie Sie am Ergebnisobjekt sehen können, hat MongoDB jedem Dokument eine eindeutige _id zugewiesen.

Wenn Sie das Feld angeben , muss_id der Wert für jedes Dokument eindeutig sein:

Beispiel

Fügen Sie drei Datensätze in eine "Produkte"-Tabelle mit angegebenen _idFeldern ein:

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  var myobj = [
    { _id: 154, name: 'Chocolate Heaven'},
    { _id: 155, name: 'Tasty Lemon'},
    { _id: 156, name: 'Vanilla Dream'}
  ];
  dbo.collection("products").insertMany(myobj, function(err, res) {
    if (err) throw err;
    console.log(res);
    db.close();
  });
});

Speichern Sie den obigen Code in einer Datei namens „demo_mongodb_insert_id.js“ und führen Sie die Datei aus:

Führen Sie "demo_mongodb_insert_id.js" aus

C:\Users\Your Name>node demo_mongodb_insert_id.js

Was Ihnen dieses Ergebnis geben wird:

{
  result: { ok: 1, n: 3 },
  ops: [
    { _id: 154, name: 'Chocolate Heaven },
    { _id: 155, name: 'Tasty Lemon },
    { _id: 156, name: 'Vanilla Dream } ],
  insertedCount: 3,
  insertedIds: [
    154,
    155,
    156 ]
}