monk vs Mongongb的mongoose

You*_*ung 62 mongoose mongodb node.js monk

我正在学习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
            });
        });
    };
};
Run Code Online (Sandbox Code Playgroud)

这里有一个使用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},
});
Run Code Online (Sandbox Code Playgroud)

Pet*_*ons 74

他们同样的事情做同样的联系吗?或者他们有特定的目的吗?

它们是不同的,尽管它们是解决同一基本问题的两种方法.Mongoose是一个相当复杂的全面ORM.更多功能,但更复杂.僧侣的范围较小,因此更容易理解.

我的建议是mongodb直接用基本驱动模块开始编码.当你了解它是如何工作的,以及它的部分是如何令人讨厌的时候,你就会明白它的好处,monk并且可以尝试一下,看看你是否喜欢它.我不建议mongoose初学者.Mongodb已经足够难以学习了,虽然猫鼬可能会有所帮助,但它的API非常神奇,并假设你已经知道了mongodb的棘手方面.

  • 好的,我将从和尚开始.谢谢 (4认同)
  • 我从Mongoose开始并没有遇到任何问题.他们的网站有很好的文档和基本CRUD的例子. (3认同)

ale*_*dev 25

如果你正在学习NodeJS和Mongo,你真的不需要任何其他东西 - 事实上,MongoDB为MongoDB和NodeJS开发人员提供了一个免费的在线课程.不需要任何额外的包装.

https://university.mongodb.com/