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 _id
Feld angeben, fügt MongoDB eines für Sie hinzu und weist jedem Dokument eine eindeutige ID zu.
Im obigen Beispiel _id
wurde 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
_id
Feldern 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 ]
}