Maison > interface Web > js tutoriel > le corps du texte

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

不言
Libérer: 2018-06-30 11:48:28
original
1246 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 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 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();
});
Copier après la connexion

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

node app.js
Copier après la connexion

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

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

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

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

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

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

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

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

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

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

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

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!

É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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!