78 votes

Comment se connecter à mongodb avec node.js (et s'authentifier)?

Comment se connecter à mongodb avec node.js?

J'ai le pilote node-mongodb-native.

Il y a apparemment 0 documentation.

Est-ce quelque chose comme ça?

 var mongo = require('mongodb/lib/mongodb'); 
var Db= new mongo.Db( dbname, new mongo.Server( 'mongolab.com', 27017, {}), {}); 
 

Où dois-je mettre le nom d'utilisateur et le mot de passe?

Aussi, comment insérer quelque chose?

Merci.

43voto

Chris Heald Points 28814

Par la source :

Après la connexion:

 Db.authenticate(user, password, function(err, res) {
  // callback
});
 

38voto

mattdlockyer Points 2098

Tout le monde devrait utiliser ce lien source:

http://mongodb.github.com/node-mongodb-native/contents.html

Réponse à la question:

 var Db = require('mongodb').Db,
    MongoClient = require('mongodb').MongoClient,
    Server = require('mongodb').Server,
    ReplSetServers = require('mongodb').ReplSetServers,
    ObjectID = require('mongodb').ObjectID,
    Binary = require('mongodb').Binary,
    GridStore = require('mongodb').GridStore,
    Code = require('mongodb').Code,
    BSON = require('mongodb').pure().BSON,
    assert = require('assert');

var db = new Db('integration_tests', new Server("127.0.0.1", 27017,
 {auto_reconnect: false, poolSize: 4}), {w:0, native_parser: false});

// Establish connection to db
db.open(function(err, db) {
  assert.equal(null, err);

  // Add a user to the database
  db.addUser('user', 'name', function(err, result) {
    assert.equal(null, err);

    // Authenticate
    db.authenticate('user', 'name', function(err, result) {
      assert.equal(true, result);

      db.close();
    });
  });
});
 

9voto

justinhj Points 5060

Je trouve utile d'utiliser une URL Mongo. Je stocke l'URL dans une variable d'environnement et l'utilise pour configurer des serveurs tandis que la version de développement utilise une URL par défaut sans mot de passe.

L'URL a la forme:

 export MONGODB_DATABASE_URL=mongodb://USERNAME:PASSWORD@DBHOST:DBPORT/DBNAME
 

Code pour se connecter de cette façon:

 var DATABASE_URL = process.env.MONGODB_DATABASE_URL || mongodb.DEFAULT_URL;

mongo_connect(DATABASE_URL, mongodb_server_options, 
      function(err, db) { 

          if(db && !err) {
          console.log("connected to mongodb" + " " + lobby_db);
          }
          else if(err) {
          console.log("NOT connected to mongodb " + err + " " + lobby_db);
          }
      });    
 

5voto

christkv Points 2650

Bons endroits pour commencer

http://christiankvalheim.com/

et

https://github.com/christkv/node-mongodb-native

Cela dit, je travaille sur la documentation appropriée pour la version v1 du pilote, qui sera la première version 10gen officiellement prise en charge.

4voto

guilin 桂林 Points 3422

Je recommande mongoskin je viens de créer.

 var mongo = require('mongoskin');
var db = mongo.db('admin:pass@localhost/mydb?auto_reconnnect');
db.collection('mycollection').find().toArray(function(err, items){
   // do something with items
});
 

Mongoskin est-il sync? Non, c'est asynchrone.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X