Maison > interface Web > js tutoriel > Tutoriel détaillé sur la façon d'utiliser Nodejs pour se connecter à la base de données mongodb

Tutoriel détaillé sur la façon d'utiliser Nodejs pour se connecter à la base de données mongodb

巴扎黑
Libérer: 2017-08-22 17:04:44
original
2216 Les gens l'ont consulté

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
Copier après la connexion

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


npm init
Copier après la connexion

Ensuite, installez le pilote de la version nodejs de mongodb


npm install mongodb --save
Copier après la connexion

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, veuillez 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();
});
Copier après la connexion

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


node app.js
Copier après la connexion

4. Insérez le document

dans l'application Ajoutez le code suivant à 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);
  });
};
Copier après la connexion
<🎜. >La commande insert renvoie un objet contenant les attributs suivants :

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

  • ops Le document avec le champ _id ajout d'une

  • connexion où l'opération d'insertion est effectuée. Utilisez la connexion

dans app.js pour mettre à jour le code suivant afin d'appeler la méthode insertDocuments


var MongoClient = require(&#39;mongodb&#39;).MongoClient
 , assert = require(&#39;assert&#39;);
// Connection URL
var url = &#39;mongodb://localhost:27017/myproject&#39;;
// 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();
 });
});
Copier après la connexion
Utilisez node app dans la ligne de commande .js run

Interrogez tous les documents

Ajouter la fonction findDocuments


var findDocuments = function(db,callback){
  // get the documents collection
  var collection = db.collection(&#39;documents&#39;);
  // find some documents
  collection.find({}).toArray(function(err,docs){
    assert.equal(err,null);
    console.log("Found the following records");
    console.log(docs);
    callback(docs);
  });
};
Copier après la connexion
La fonction findDocuments interroge tous les documents de toute la collection 'documents', ajoutez cette fonction à la fonction de rappel de MongoClient. connectez


var MongoClient = require(&#39;mongodb&#39;).MongoClient
 , assert = require(&#39;assert&#39;);
// Connection URL
var url = &#39;mongodb://localhost:27017/myproject&#39;;
// 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();
  });
 });
});
Copier après la connexion

6. Utilisez le filtre de requête pour interroger des documents

Rechercher des documents pour un ':3


var findDocuments = function(db, callback) {
 // Get the documents collection
 var collection = db.collection(&#39;documents&#39;);
 // Find some documents
 collection.find({&#39;a&#39;: 3}).toArray(function(err, docs) {
  assert.equal(err, null);
  console.log("Found the following records");
  console.log(docs);
  callback(docs);
 });   
}
Copier après la connexion

7. Mettre à jour le document


var updateDocument = function(db,callback){
  // get the documents collection
  var collection = db.collection(&#39;documents&#39;);
  // 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);
  });
};
Copier après la connexion
La méthode updateDocument met à jour le premier document qui remplit la condition a est 2, ajoutez un nouvel attribut b et définissez-le 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();
    });
  });
});
Copier après la connexion

Supprimez le document <🎜. >


Ajouter à app.js
var removeDocument = function(db,callback){
  // get the documents collection
  var collection = db.collection(&#39;documents&#39;);
  // 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);
  });
};
Copier après la connexion


var MongoClient = require(&#39;mongodb&#39;).MongoClient
 , assert = require(&#39;assert&#39;);
// Connection URL
var url = &#39;mongodb://localhost:27017/myproject&#39;;
// 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();
   });
  });
 });
});
Copier après la connexion

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'


Mettre à jour app.js
var indexCollection = function(db,callback){
  db.collection(&#39;documents&#39;).createIndex({
    a:1
  },null,function(err,results){
    console.log(results);
    callback();
  });
};
Copier après la connexion


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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal