Монах против Монгуста для Монгоба
Я изучаю 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
});
});
};
};
и здесь образец, который использует 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},
});
Ответы
Ответ 1
Они то же самое делают одно и то же соединение? или они имеют конкретную цель?
Они разные, хотя они являются двумя подходами к одной и той же основной проблеме. Mongoose - довольно сложная полная ORM. Больше возможностей, но сложнее. Монах меньше по размеру и поэтому легче понять.
Мое предложение начальное кодирование с базовым модулем драйвера mongodb
напрямую. Когда вы понимаете, как это работает, и как его часть раздражает, вы поймете преимущество monk
и можете попробовать это, чтобы посмотреть, нравится ли вам это. Я бы не стал рекомендовать mongoose
новичкам. Mongodb уже достаточно сложный, чтобы учиться, и в то время как мангуста может быть полезна, он API довольно волшебный и предполагает, что вы уже знаете сложные аспекты mongodb.
Ответ 2
Если вы изучаете NodeJS и Mongo, вам действительно не нужно ничего другого - на самом деле MongoDB предлагает бесплатный онлайн-класс для разработчиков MongoDB и NodeJS. Нет необходимости в каких-либо дополнительных упаковках.
См. https://university.mongodb.com/