web-dev-qa-db-fra.com

moine vs mangouste pour Mongodb

J'apprends NodeJs.

Pour me connecter et utiliser MongoDB de NodeJS, je vois beaucoup d'exemples utilisant Monk ou Mongoose.

Ces deux bibliothèques sont-elles équivalentes? Ont-ils les mêmes caractéristiques ou ont-ils chacun un objectif spécifique?

En tant que débutant avec NodeJS, que dois-je utiliser?

Voici quelques exemples de code utilisant Monk:

var mongo = require('mongodb');
var monk = require('monk');
var db = monk('localhost:27017/nodejsapp');

----
exports.userlist = function(db) {
    return function(req, res) {
        var collection = db.get('users');
        collection.find({},{},function(e,docs){
            res.render('userlist', {
                "userlist" : docs
            });
        });
    };
};

et voici un exemple qui utilise Mongoose:

   var mongoose = require('mongoose');
----
 mongoose.connect('localhost', 'test');
 var db = mongoose.connection;
  db.on('error', console.error.bind(console, 'connection error:'));
  db.once('open', function callback() {
   console.log('Connected to DB');
});

// User Schema
var userSchema = mongoose.Schema({
   username: { type: String, required: true, unique: true },
   email: { type: String, required: true, unique: true },
  password: { type: String, required: true},
});
61
Young

sont-ils la même chose faire la même connexion? ou ont-ils un but précis?

Ils sont différents, bien qu'il s'agisse de deux approches du même problème de base. Mongoose est un ORM complet assez sophistiqué. Plus de fonctionnalités, mais plus de complexité. Le moine est plus petit et donc plus facile à comprendre.

Ma suggestion est de commencer à coder directement avec le module pilote de base mongodb. Lorsque vous comprendrez comment cela fonctionne et comment certaines parties sont ennuyeuses, vous comprendrez les avantages de monk et pourrez essayer cela pour voir si vous l'aimez. Je ne recommanderais pas mongoose à un débutant. Mongodb est déjà assez difficile à apprendre et bien que la mangouste puisse être utile, son API est assez magique et suppose que vous connaissez déjà les aspects délicats de mongodb.

73
Peter Lyons

Si vous apprenez NodeJS et Mongo, vous n'avez vraiment besoin de rien d'autre - en fait, MongoDB propose une classe en ligne gratuite pour les développeurs MongoDB et NodeJS. Pas besoin d'emballages supplémentaires.

Voir https://university.mongodb.com/

25
alernerdev