монах против мангуста для Mongodb


Я изучаю NodeJs.

чтобы подключиться и использовать MongoDB из NodeJS, я вижу много примеров использования Monk или Mongoose.

эквивалентны ли эти две библиотеки ? Имеют ли они одинаковые функции или у каждого из них есть определенная цель ?

как новичок с NodeJS, который я должен использовать ?

вот несколько примеров кода, который использует 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
            });
        });
    };
};

и вот пример, который использует Мангуст :

   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},
});
2 59

2 ответа:

они же делают то же подключение ? или у них есть конкретная цель ?

они разные, хотя это два подхода к одной и той же основной проблеме. Мангуст-довольно сложный полный ОРМ. Больше возможностей, но сложнее. Монах меньше по объему и, таким образом, легче понять.

мое предложение начать кодирование с основными mongodb модуль водителя сразу. Когда вы понимаете, как это работает, и как его части раздражает, вы поймете пользу monk и можете попробовать, чтобы увидеть, если вам это нравится. Я бы не рекомендовал mongoose для новичка. Mongodb уже достаточно сложно учиться, и хотя Мангуст может быть полезен, его API довольно волшебный и предполагает, что вы уже знаете сложные аспекты mongodb.

Если вы изучаете NodeJS и Mongo, вам действительно не нужно ничего другого-на самом деле, MongoDB предлагает бесплатный онлайн-класс для разработчиков MongoDB и NodeJS. Нет необходимости в каких-либо дополнительных оболочек.

см.https://university.mongodb.com/