我正在学习NodeJs。
为了连接和使用NodeJS中的MongoDB,我看到了很多使用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},
});发布于 2014-05-13 02:10:02
它们是同样的东西做同样的连接吗?或者它们有特定的目的?
它们是不同的,尽管它们是解决同一基本问题的两种方法。Mongoose是一个相当复杂的全能ORM。功能更多,但更复杂。Monk的范围较小,因此更容易理解。
我的建议是直接从基本的mongodb驱动模块开始编码。当你理解了它是如何工作的,以及它的某些部分是如何令人讨厌的,你就会明白monk的好处,并可以尝试一下,看看你是否喜欢它。我不会向初学者推荐mongoose。mongodb已经足够难学了,虽然mongoose可能会有帮助,但它的API非常神奇,并假设您已经了解Mongodb的棘手方面。
发布于 2014-05-14 23:28:38
如果您正在学习NodeJS和Mongo,那么您真的不需要其他任何东西--事实上,MongoDB为MongoDB和NodeJS开发人员提供了一个免费的在线课程。不需要任何额外的包装器。
https://stackoverflow.com/questions/23615377
复制相似问题