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