当前位置: 首页 > 知识库问答 >
问题:

Mongodb的monk vs mongoose

寿子轩
2023-03-14

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

这里有一个使用猫鼬的样本:

   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个答案

丌官博文
2023-03-14

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

看见https://university.mongodb.com/

越飞翮
2023-03-14

他们是同一件事做同样的连接吗?还是有特定的目的?

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

我的建议是直接使用基本的mongoDB驱动程序模块开始编码。当你理解了它是如何工作的,以及它的一部分是如何令人讨厌的,你就会理解Monk的好处,并且可以尝试一下,看看你是否喜欢它。我不会推荐猫鼬给初学者。MongoDB已经够棘手的了,虽然猫鼬可以有所帮助,但它的应用编程接口非常神奇,假设你已经知道mongob棘手的方面。

 类似资料:
  • MongoDB是一个跨平台,面向文档的数据库,提供高性能,高可用性和易扩展性。 MongoDB适用于集合和文档的概念。 有关更多信息,请阅读我们的MongoDB教程 。 在本章中,您将学习如何使用CoffeeScript与MongoDB数据库进行通信。 安装 (Installation) 可以使用MongoDB的Node.js 2.0驱动程序将MongoDB数据库与CoffeeScript集成。

  • 问题内容: 尝试使用带。我可以保存,但是当我查看记录时,里面有很多不必要的东西: 另外,当我尝试检索相同的日期时,它给我以下信息: 使用时,我没有这个问题。第一个问题是我们可以在仅能持续使用的地方更改某些设置吗?第二个问题,是有什么样的? 和 注册如下: 问题答案: 看起来Spring支持所有Java时间转换器减去分区日期时间转换器。您可以如下注册一个。 另一种替代解决方案是仅使用ZonedDat

  • 本文向大家介绍MongoDB的索引,包括了MongoDB的索引的使用技巧和注意事项,需要的朋友参考一下 1、简介 它就像是一本书的目录,如果没有它,我们就需要对整个书籍进行查找来获取需要的结果,即所说的全盘扫描; 而有了目录(索引)之后就可以通过它帮我们定位到目标所在的位置,快速的获取我们想要的结果。 2、演示 第一步,向用户集合users中插入100W条数据 LZ的渣渣I3和4G内存总共耗时了4

  • 更新: 案例1:本地机器的mongo上的远程访问是因为我选择的发行版配置为允许远程连接。

  • 问题内容: 我是使用MEAN Stack构建应用程序的新手,我正在尝试构建实时聊天应用程序,这是我的服务器端: 我确定我创建了一个与mongodb聊天的数据库,mongo也正在等待连接。但是当我使用节点server.js运行服务器时,会发生错误: 在这个阶段,我被封锁了几个星期,有人可以帮忙吗? 谢谢。 问题答案: 这是因为您使用的连接字符串格式不正确。 您正在使用它应该是 连接字符串的模式是 供

  • 我有一个Java应用程序,它处理avro消息的Kafka流,并为每条消息对mongoDB集合执行查询。 在正确处理了几十条消息后,应用程序停止运行并抛出“com.mongodb.MongoSocketReadExc0019:过早到达流的结尾”。 这是代码:

  • 问题 你需要与一个 MongoDB 数据库连接的接口。 解决方案 对于 Node.js 安装 如果你的计算机中还没有 MongoDB ,需要安装。 安装本地 MongoDB 模块。 保存记录 mongo = require 'mongodb' server = new mongo.Server "127.0.0.1", 27017, {} client = new mongo.Db 'test

  • MongoDB 基本信息 MongoDB 是开源的 NoSQL 数据库实现。 该仓库位于 https://hub.docker.com/_/mongo/ ,提供了 MongoDB 2.x ~ 4.x 各个版本的镜像。 使用方法 默认会在 27017 端口启动数据库。 $ docker run --name mongo -d mongo 使用其他应用连接到容器,可以用 $ docker run --