Heim  >  Artikel  >  Web-Frontend  >  Implementierung der Verbindung zur Mongodb-Datenbank mithilfe von Nodejs

Implementierung der Verbindung zur Mongodb-Datenbank mithilfe von Nodejs

不言
不言Original
2018-06-30 11:48:281248Durchsuche

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!

Stellungnahme:
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