Maison >interface Web >js tutoriel >Tutoriel détaillé sur la façon d'utiliser Nodejs pour se connecter à la base de données mongodb
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 la 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, 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(); });
sur la ligne de commande Entrez la commande suivante pour exécuter app.js
node app.js
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); }); };La commande insert renvoie un objet contenant les attributs suivants :
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 node app dans la ligne de commande .js run
Interrogez tous les documents
Ajouter la fonction findDocumentsvar 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); }); };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('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 des documents
Rechercher des documents pour un ':3var 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 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(); }); }); });
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); }); };
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(); }); };
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!