J'ai appris les connaissances de base de mongdb ces jours-ci, en suivant les traces (code) des maîtres en ligne pour simuler la connexion à la base de données mongodb. L'article suivant résume et présente les deux didacticiels de méthode permettant à node.js de se connecter à la base de données mongodb. Base de données MongoDB. L'introduction dans l'article est très détaillée. Les amis qui en ont besoin peuvent s'y référer.
Avant-propos
Le pilote MongoDB Node.js est le pilote node.js natif officiellement pris en charge. C'est la meilleure à ce jour. et est officiellement pris en charge par MongoDB. L'équipe MongoDB a adopté le pilote MongoDB Node.js comme approche standard.
npm install mongodb@1.4.3 // MongoDB Node.js驱动程序 npm install mongoose@3.8.8 //mongoose模块
Pour vous connecter à la base de données MongoDB depuis Node.js, nous avons le choix entre deux méthodes :
En instanciant la classe mongodbClient fournie dans le module mongodb, puis en utilisant cet objet instancié pour créer et gérer les connexions mongodb
Utiliser des chaînes pour se connecter <🎜 ; >
1. Connectez-vous à MongoDB via l'objet client
Il est préférable de se connecter à la base de données MongoDB en instancier un objet MongoClient Couramment utilisé est également le meilleur moyen.Syntaxe de création d'une instance d'objet MongoClient :
MongoClient( server, options );
options : Options de connexion à la base de données ;
Ci-dessous, regardez un exemple :
var MongoClient = require('mongodb').MongoClient, Server = require('mongodb').server; // 创建客户端连接对象 var client = new MongoClient( new Server('localhost', 27017, { socketOpations: { connectTimeoutMS: 500 }, poolSize: 5, auto_reconnect: true }, { numberOfRetries: 3, retryMilliSeconds: 500 })); // 打开对服务器端MongoDB数据库的连接 client.open(function(err, client) { if ( err ) { console.log('连接失败!'); } else { var db = client.db('blogdb'); // 建立到数据库blogdb的连接 if ( db ) { console.log('连接成功'); db.authenticate('username', 'pwd', function(err, result) { // 对用户数据库身份进行验证 if ( err ) { console.log('数据库用户身份验证失败'); client.close(); // 关闭对MongoDB的连接 console.log('连接已关闭......'); } else { console.log('用户身份验证通过'); db.logout(function (err, result) { // 关闭对数据库的连接,即退出数据库 if ( !err ) { console.log('退出数据库出错'); } client.close(); // 关闭对MongoDB的连接 console.log( '已关闭连接......' ); }); } }); } } });
Remarque : Pour vous déconnecter de la base de données, utilisez la méthode sur l'objet de la base de données. Cela fermera la connexion à la base de données et vous ne pourrez plus utiliser l'objet Db. Par exemple : logout()
Pour fermer la connexion à MongoDB, appelez la méthode db.logout();
sur la connexion client, par exemple : close()
. client.close()
Attention à l'écriture
Tout d'abord, lorsque nous nous connecterons à la base de données, nous utiliserons une question sur le niveau d'attention à l'écriture Pour parler franchement, ma compréhension personnelle. est que cela équivaut à Un ordre de priorité pour gérer les problèmes lorsque des problèmes surviennent. Vous pouvez choisir si vous devez confirmer avant d'écrire dans la base de données, ou si vous souhaitez ignorer une erreur, etc., comme indiqué ci-dessous :写 入 级 别 | 说 明 |
---|---|
-1 | 网络错误被忽略 |
0 | 写确认是不必要的 |
1 | 请求写确认 |
2 | 写确认请求跨主服务器和副本集中的一个辅助服务器 |
majority | 写确认是从副本集的主服务器请求的 |
Utiliser Les options de création d'un objet Serveur pour une connexion MongoClient sont les suivantes :
Les options de connexion à la base de données pour créer un Les connexions MongoClient sont les suivantes :
2. Connectez-vous à MongoDB via une chaîne de connexion<🎜. >De cette façon, vous devez appeler la classe MongoClient
Méthode. La syntaxe de connect est la suivante :connect( )
MongoClient.connect(connString, options, callback)
mongodb://username:password@host:port/database?opations
下面,看一个使用连接字符串方法连接MongoDB数据库的示例:
var MongoClient = require('mongodb').MongoClient; MongoClient.connect('mongodb://mongodb:test@localhost:27017/blogdb', { db: { w: 1, native_parser: false }, server: { poolSize: 5, socketOpations: { connectTimeoutMS: 500 }, auto_reconnect: true }, replSet: {}, mongos: {} }, function(err, db) { if ( err ) { console.log('连接失败!'); } else { console.log('连接成功!'); // 注销数据库 db.logout(function(err, result) { if ( err ) { console.log('注销失败...'); } db.close(); // 关闭连接 console.log('连接已经关闭!'); }); } });
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
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!