Heim > Web-Frontend > js-Tutorial > So verwenden Sie NodeJS zum Betreiben des Füll-, Lösch-, Änderungs- und Abfragemoduls von Mongodb

So verwenden Sie NodeJS zum Betreiben des Füll-, Lösch-, Änderungs- und Abfragemoduls von Mongodb

亚连
Freigeben: 2018-06-14 11:25:07
Original
1484 Leute haben es durchsucht

Im Folgenden werde ich Ihnen ein Beispiel für die Erstellung und Einführung des Füll-, Lösch-, Änderungs- und Prüfmoduls für den Betrieb von Mongodb mitteilen. Es hat einen guten Referenzwert und ich hoffe, dass es für alle hilfreich ist.

Entsprechende Module installieren

Wenn Sie dies verwenden, müssen Sie zunächst die erforderlichen Module selbst installieren und

im Stammverzeichnis eingeben
npm install mongodb --save
Nach dem Login kopieren

Installieren Sie das Modul. Nach erfolgreicher Installation können Sie mit den folgenden Schritten fortfahren.

Einführung in Dateien

Das Folgende ist der relevante Code, den ich geschrieben habe. Legen Sie ihn in das entsprechende Verzeichnis, das Sie zitieren können. Ich habe ihn eingefügt im Stammverzeichnis des Express-Verzeichnisses

function Mongo(options) {
 this.settings = {
  url: 'mongodb://localhost:27017/jk',
  MongoClient:require('mongodb').MongoClient,
  assert:require('assert')
 };
 for(let i in options){
  this.settings[i] = options[i];
 }
 this._run = function (fun) {
  let that = this;
  let settings = this.settings;
  this.settings.MongoClient.connect(this.settings.url, function (err, db) {
   settings.assert.equal(null, err);
   console.log("Connected correctly to server");
   fun(db, function () {
    db.close();
   });
  });
 };
 this.insert = function (collectionName, data, func) {
  //增加数据
  let insertDocuments = function (db, callback) {
   let collection = db.collection(collectionName);
   collection.insertMany([
    data
   ], function (err, result) {
    if (!err) {
     func(true);
    } else {
     func(false);
    }
    callback(result);
   });
  };
  this._run(insertDocuments);
 };
 this.update = function (collectionName, updateData, data, func) {
  //更新数据
  let updateDocument = function (db, callback) {
   let collection = db.collection(collectionName);
   collection.updateOne(updateData
    , {$set: data}, function (err, result) {
     if (!err) {
      func(true);
     } else {
      func(false);
     }
     callback(result);
    });
  };
  this._run(updateDocument);
 };
 this.delete = function (collectionName, data, func) {
  //删除数据
  let deleteDocument = function (db, callback) {
   let collection = db.collection(collectionName);
   collection.deleteOne(data, function (err, result) {
    if (!err) {
     func(true);
    } else {
     func(false);
    }
    callback(result);
   });
  };
  this._run(deleteDocument);
 };
 this.find = function (collectionName, data, func) {
  //查找数据
  let findDocuments = function (db, callback) {
   // Get the documents collection
   let collection = db.collection(collectionName);
   // Find some documents
   collection.find(data).toArray(function (err, docs) {
    if (!err) {
     func(true,docs);
    }
    else {
     func(false, err);
    }
    callback(docs);
   });
  };
  this._run(findDocuments);
 };
}
module.exports = Mongo;
Nach dem Login kopieren

Ich habe es in einer Datei namens server.js gespeichert

Verwenden Sie

, wenn wir Ich brauche die Seite, um zuerst das Modul vorzustellen. Ich habe es beispielsweise in die Routing-Datei index.js eingeführt:

const Server = require("../server.js");
Nach dem Login kopieren

Dann müssen Sie das Objekt wie folgt instanziieren:

let server = new Server();
Nach dem Login kopieren

Wenn Sie verwandte Informationen konfigurieren müssen, können Sie sie bei der Instanziierung in einer Objektkonfiguration übergeben und die Datenbankadresse konfigurieren:

let server = new Server({url:"mongodb://localhost:27017/mydb"});
Nach dem Login kopieren

Darin sind vier Methoden gekapselt: Hinzufügen, löschen, ändern bzw. prüfen:

Methode hinzufügen

server.insert (Name der Datentabelle, einzufügende Daten ( Objekt von Schlüssel-Wert-Paaren), Rückruffunktion);

Update-Methode

server.update(Name der Datentabelle, abgefragte Daten (Objekt ), aktualisierte Daten (Objekt), Rückruffunktion);

Methode löschen

server.delete(Name der Datentabelle, abgefragte Daten (Objekt). ), Rückruffunktion);

Suchmethode

server.find(Datentabellenname, abgefragte Daten (Objekt), Rückruffunktion);

Die Rückruffunktion gibt zwei Werte zurück, der erste boolesche Typ gibt an, ob die Verarbeitung erfolgreich war, der zweite Wert, die Suche gibt die gefundene Nummer zurück und die anderen geben die Anzahl der erfolgreichen Verarbeitung zurück (jetzt ist es nur noch einer). jeweils verarbeitet)

Anwendungsfall

Wenn ich beispielsweise Daten in einer Route finden muss, benötige ich Folgendes:

server.find("users",{username:"username"},function (bool,data) {
  if(bool){
   console.log("查询到数据为"+data.length+"条");
  }
  else{
   console.log(data);
  }
 });
});
Nach dem Login kopieren

Die Der obige Code fragt die Daten des Felds ab, in dem „Benutzername“ der Benutzername ist. Bei Erfolg werden die Daten später als Array zurückgegeben. Wenn ein Fehler auftritt, wird der Datenfehler direkt zurückgegeben.

Ich habe das Obige für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.

Verwandte Artikel:

MySQL ändert Root-Passwort

So schreiben Sie hochwertigen JS-Code

Verwandte Nutzung des JS-Arrays reduzieren

Das obige ist der detaillierte Inhalt vonSo verwenden Sie NodeJS zum Betreiben des Füll-, Lösch-, Änderungs- und Abfragemoduls von Mongodb. 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