In diesem Artikel wird hauptsächlich der Implementierungscode für die Verwendung von Nodejs zum Herstellen einer Verbindung zur Mongodb-Datenbank vorgestellt
Ein einfaches Beispiel für die Verbindung von Nodejs mit Mongodb, aus dem offiziellen Beispiel von Mongodb
1. Erstellen Sie package.json
Erstellen Sie zunächst unser Projektverzeichnis connect-mongodb und verwenden Sie es als unser aktuelles Verzeichnis
mkdir connect-mongodb cd connect-mongodb
Geben Sie den Befehl npm init
ein, um package.json
npm init
zu erstellen. Installieren Sie dann den NodeJS-Versionstreiber von Mongodb
npm install mongodb --save
Das MongoDB-Treiberpaket wird in node_modules im aktuellen Verzeichnis installiert
2. Starten Sie den MongoDB-Server
Installieren Sie MongoDB und starten Sie den MongoDB-Datenbankdienst. Weitere Informationen finden Sie in meinem vorherigen Artikel oder in der offiziellen MongoDB-Dokumentation
3. Stellen Sie eine Verbindung zu MongoDB her
Erstellen Sie eine app.js-Datei und fügen Sie den folgenden Code hinzu, um eine Verbindung zur Datenbank namens myNewDatabase auf der Serveradresse 192.168.0.243 und dem Mongodb-Port 27017 herzustellen
var MongoClient = require('mongodb').MongoClient, assert = require('assert'); // Connection URL var url = 'mongodb://192.168.0.243:27017/myNewDatabase'; MongoClient.connect(url,function(err,db){ assert.equal(null,err); console.log("Connection successfully to server"); db.close(); });
in der Befehlszeile Geben Sie den folgenden Befehl ein, um app.js auszuführen
node app.js
4. Fügen Sie das Dokument ein
in der App den folgenden Code zu js hinzufügen und die Methode insertMany verwenden, um 3 Dokumente zur Dokumentensammlung hinzuzufügen
var insertDocuments = function(db, callback){ // get ths documents collection var collection = db.collection('documents'); // insert some documents collection.insertMany([ {a:1},{a:2},{a:3} ],function(err,result){ assert.equal(err,null); assert.equal(3,result.result.n); assert.equal(3,result.ops.length); console.log("Inserted 3 documents into the collection"); callback(result); }); };
Der Einfügebefehl gibt ein Objekt zurück, das die folgenden Attribute enthält:
result Das von MongoDB zurückgegebene Dokumentergebnis
ops Das Dokument mit der _id Feld hinzugefügt
Verbindung, in der der Einfügevorgang ausgeführt wird. Verwenden Sie die Verbindung
in app.js, um den folgenden Code zu aktualisieren, um die Methode insertDocuments aufzurufen
var MongoClient = require('mongodb').MongoClient , assert = require('assert'); // Connection URL var url = 'mongodb://localhost:27017/myproject'; // Use connect method to connect to the server MongoClient.connect(url, function(err, db) { assert.equal(null, err); console.log("Connected successfully to server"); insertDocuments(db, function() { db.close(); }); });
Verwenden Sie die Knoten-App in der Befehlszeile, um .js auszuführen
5. Fragen Sie alle Dokumente ab
Funktion „findDocuments“ hinzufügen
var findDocuments = function(db,callback){ // get the documents collection var collection = db.collection('documents'); // find some documents collection.find({}).toArray(function(err,docs){ assert.equal(err,null); console.log("Found the following records"); console.log(docs); callback(docs); }); };
Die Funktion „findDocuments“ fragt alle Dokumente in der gesamten „Dokumenten“-Sammlung ab. Fügen Sie diese Funktion zur Rückruffunktion von MongoClient hinzu .connect
var MongoClient = require('mongodb').MongoClient , assert = require('assert'); // Connection URL var url = 'mongodb://localhost:27017/myproject'; // Use connect method to connect to the server MongoClient.connect(url, function(err, db) { assert.equal(null, err); console.log("Connected correctly to server"); insertDocuments(db, function() { findDocuments(db, function() { db.close(); }); }); });
6. Abfragefilter zum Abfragen von Dokumenten verwenden
Dokumente abfragen nach ' a':3
var findDocuments = function(db, callback) { // Get the documents collection var collection = db.collection('documents'); // Find some documents collection.find({'a': 3}).toArray(function(err, docs) { assert.equal(err, null); console.log("Found the following records"); console.log(docs); callback(docs); }); }
7. Dokument aktualisieren
var updateDocument = function(db,callback){ // get the documents collection var collection = db.collection('documents'); // update document where a is 2, set b equal to 1 collection.updateOne({a:2},{ $set:{b:1} },function(err,result){ assert.equal(err,null); assert.equal(1,result.result.n); console.log("updated the document with the field a equal to 2"); callback(result); }); };
Die updateDocument-Methode aktualisiert das erste Dokument, das die Bedingung erfüllt, dass a 2 ist. Fügen Sie ein neues b-Attribut hinzu und setzen Sie es auf 1.
Fügen Sie die updateDocument-Methode zum Rückruf der MongoClient.connect-Methode hinzu
MongoClient.connect(url,function(err,db){ assert.equal(null,err); console.log("Connection successfully to server"); insertDocuments(db,function(){ updateDocument(db,function(){ db.close(); }); }); });
Löschen Sie das Dokument
var removeDocument = function(db,callback){ // get the documents collection var collection = db.collection('documents'); // remove some documents collection.deleteOne({a:3},function(err,result){ assert.equal(err,null); assert.equal(1,result.result.n); console.log("removed the document with the field a equal to 3"); callback(result); }); };
Zu app.js hinzufügen
var MongoClient = require('mongodb').MongoClient , assert = require('assert'); // Connection URL var url = 'mongodb://localhost:27017/myproject'; // Use connect method to connect to the server MongoClient.connect(url, function(err, db) { assert.equal(null, err); console.log("Connected successfully to server"); insertDocuments(db, function() { updateDocument(db, function() { removeDocument(db, function() { db.close(); }); }); }); });
9. Indizes erstellen
Indizes können die Anwendungsleistung verbessern. Unten fügt Ihr Code einen Index für das Attribut „a“ hinzu
var indexCollection = function(db,callback){ db.collection('documents').createIndex({ a:1 },null,function(err,results){ console.log(results); callback(); }); };
Update app.js
MongoClient.connect(url,function(err,db){ assert.equal(null,err); console.log("Connection successfully to server"); insertDocuments(db,function(){ indexCollection(db,function(){ db.close(); }); }); });
Das obige ist der detaillierte Inhalt vonAusführliches Tutorial zur Verwendung von Nodejs zum Herstellen einer Verbindung zur Mongodb-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!