Maison  >  Article  >  interface Web  >  Implémentation de la connexion à la base de données mongodb à l'aide de Nodejs

Implémentation de la connexion à la base de données mongodb à l'aide de Nodejs

不言
不言original
2018-06-30 11:48:281247parcourir

Cet article présente principalement le code d'implémentation de l'utilisation de Nodejs pour se connecter à la base de données mongodb. Les amis dans le besoin peuvent s'y référer

Un exemple simple de connexion de nodejs à mongodb, tiré de l'exemple officiel de mongodb

1. Créez package.json

Tout d'abord, créez notre répertoire de projet connect-mongodb et utilisez-le comme répertoire actuel

mkdir connect-mongodb
cd connect-mongodb

Entrez la commande npm init pour créer package.json

npm init

Ensuite, installez le Pilote de version nodejs de mongodb

npm install mongodb --save

Le package de pilotes mongodb sera installé dans node_modules dans le répertoire actuel

2. Démarrez le serveur MongoDB

Installez MongoDB et démarrez le service de base de données MongoDB Vous pouvez vous référer à mon article précédent, ou à la documentation officielle de MongoDB

. 3. Connectez-vous à MongoDB

Créez un fichier app.js et ajoutez le code suivant pour vous connecter à la base de données nommée myNewDatabase sur l'adresse du serveur 192.168.0.243 et le port mongodb 27017

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();
});

Entrez la commande suivante sur la ligne de commande pour exécuter app.js

node app.js

4. Insérer le document

Ajoutez le code suivant dans app.js et utilisez la méthode insertMany pour ajouter 3 documents à la collection de documents

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);
  });
};

La commande

insert renvoie un objet contenant les propriétés suivantes :

  • result Le résultat du document renvoyé par MongoDB

  • ops avec le champ _id ajouté Document

  • connexion La connexion utilisée pour effectuer l'opération d'insertion

Mettez à jour le code suivant dans app.js pour appeler la méthode insertDocuments

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();
 });
});

Utilisez le nœud app.js dans la ligne de commande pour exécuter

5. Interroger tous les documents

Ajouter la fonction findDocuments

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);
  });
};

Le findDocuments la fonction interroge tous les documents de toute la collection 'documents', ajoutez cette fonction à MongoClient.connect Dans la fonction de rappel

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 . Utilisez le filtre de requête pour interroger le document

Interroger le document de '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. Mettre à jour le document

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);
  });
};

La méthode updateDocument met à jour le premier document qui remplit la condition a. 2, ajoute un attribut b et le définit sur 1.

Ajoutez la méthode updateDocument au rappel de la méthode MongoClient.connect

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. Supprimez le document

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);
  });
};

Ajouter à app.js

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. Créer des index

Les index peuvent améliorer les performances des applications. Ci-dessous votre code ajoute un index sur l'attribut 'a'

var indexCollection = function(db,callback){
  db.collection('documents').createIndex({
    a:1
  },null,function(err,results){
    console.log(results);
    callback();
  });
};

Mettre à jour 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();
    });
  });
});

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Méthodes pour empêcher l'injection SQL dans node-mysql

Format de données de formulaire NodeJs pour le transfert de fichiers Méthode

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn