Heim > Web-Frontend > js-Tutorial > Ausführliches Tutorial zur Verwendung von Nodejs zum Herstellen einer Verbindung zur Mongodb-Datenbank

Ausführliches Tutorial zur Verwendung von Nodejs zum Herstellen einer Verbindung zur Mongodb-Datenbank

巴扎黑
Freigeben: 2017-08-22 17:04:44
Original
2216 Leute haben es durchsucht

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
Nach dem Login kopieren

Geben Sie den Befehl npm init ein, um package.json


npm init
Nach dem Login kopieren

zu erstellen. Installieren Sie dann den NodeJS-Versionstreiber von Mongodb


npm install mongodb --save
Nach dem Login kopieren

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();
});
Nach dem Login kopieren

in der Befehlszeile Geben Sie den folgenden Befehl ein, um app.js auszuführen


node app.js
Nach dem Login kopieren

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);
  });
};
Nach dem Login kopieren

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();
 });
});
Nach dem Login kopieren

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);
  });
};
Nach dem Login kopieren

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();
  });
 });
});
Nach dem Login kopieren

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);
 });   
}
Nach dem Login kopieren

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);
  });
};
Nach dem Login kopieren

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();
    });
  });
});
Nach dem Login kopieren

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);
  });
};
Nach dem Login kopieren

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();
   });
  });
 });
});
Nach dem Login kopieren

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();
  });
};
Nach dem Login kopieren

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();
    });
  });
});
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage