【问题标题】:monk vs mongoose for MongodbMongodb的僧侣vs猫鼬
【发布时间】:2014-06-30 04:33:51
【问题描述】:

我正在学习 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},
});

【问题讨论】:

    标签: node.js mongodb mongoose monk


    【解决方案1】:

    它们是相同的东西做相同的连接吗?还是他们有特定的目的?

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

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

    【讨论】:

    • 我从 Mongoose 开始,没有遇到任何问题。他们的网站有优秀的文档和基本 CRUD 的示例。
    • 我向初学者推荐和尚,理解和尚文档很容易快速
    【解决方案2】:

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

    https://university.mongodb.com/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-08
      • 2017-10-26
      • 1970-01-01
      • 1970-01-01
      • 2021-06-01
      • 2013-12-03
      • 1970-01-01
      • 2016-05-06
      相关资源
      最近更新 更多