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 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 MongoDB
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(); });
Geben Sie den folgenden Befehl in der Befehlszeile ein, um app.js auszuführen
node app.js
4 . Dokument einfügen
Fügen Sie den folgenden Code in app.js hinzu und verwenden Sie die Methode insertMany, 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 Eigenschaften enthält:
Ergebnis Dokumentergebnis zurückgegeben von MongoDB
ops Dokument mit _id Feld hinzugefügt
Verbindung Die Verbindung, die zum Ausführen des Einfügevorgangs verwendet wird
Aktualisieren Sie den folgenden Code in app.js, 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 node app.js in der Befehlszeile, um
5 auszuführen. Fragen Sie alle Dokumente ab
FindDocuments-Funktion 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 FindDocuments-Funktion fragt alle Dokumente in allen „Dokumenten“-Sammlungen ab und fügt diese Funktion der Rückruffunktion hinzu von MongoClient.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
Abfrage Dokumente für '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); }); };
UpdateDocument-Methodenaktualisierung Fügen Sie für das erste Dokument, das die Bedingung erfüllt, dass a 2 ist, ein 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(); }); }); });
8. 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. Erstellen Sie Indizes
Indizes können die Anwendungsleistung verbessern. Unten fügt Ihr Code einen Index für das „a“-Attribut 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 gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
Methoden zur Verhinderung der SQL-Injection in Node-MySQL
NodeJs-Formulardatenformat zum Übertragen von Dateien Methode
Das obige ist der detaillierte Inhalt vonImplementierung der Verbindung zur Mongodb-Datenbank mithilfe von Nodejs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!