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

MongoDBnode.js司机和尚

齐昊焱
2023-03-14

我正在nodejs上使用mongodb驱动程序和monk。我在Web上看到的此类示例具有以下模式:

var mongo = require('mongodb');
var monk = require('monk');

var db = monk('localhost:27017/userdb');
var collection = db.get('users');
collection.find({}, function(err, docs) {
    // do something with docs
});

两个问题:

  1. 为什么第一行需要:var mongo=要求('mongodb')?变量mongo从未被使用过。和尚不会自动需要蒙古语吗?
  2. 我看到在驱动程序级别,db必须打开和关闭。这些方法在和尚层面似乎并不存在。蒙克会自动打开和关闭连接吗?这是怎么运作的?

事实上,我想知道monk与直接使用驱动程序相比有什么优势。我阅读了monk docs中的功能列表,但并不真正了解其好处。

提前感谢你的帮助。

共有1个答案

欧阳英彦
2023-03-14

根据我自己的经验,回答一些具体问题:

1)你是正确的mongoDB变量是不需要的。我不知道为什么它会出现在所有的教程中。然而,mongodb是需要作为一个依赖,除了僧侣。

2)如您所怀疑的,您确实需要调用db.close(),否则连接将保持打开状态。这似乎在任何地方都没有记录。当你遵循这个教程,你可以看到打开连接到你的本地mongob的数量在增长。

正如您可能已经读过的,monk的目标是提供比mongodb自己的驱动程序更友好的API。我没有足够的经验来判断它是否达到了这个目标。

 类似资料:
  • 有时我们想在Erlang Runtime System中运行一个外语程序。 在这种情况下,程序被编写为动态链接到Erlang运行时系统的共享库。 链接的驱动程序对程序员来说是一个端口程序,并且遵循与端口程序完全相同的协议。 创建驱动程序 创建链接驱动程序是将外语代码与Erlang连接的最有效方法,但它也是最危险的。 链接驱动程序中的任何致命错误都会使Erlang系统崩溃。 以下是Erlang中驱动

  • 说明 只有订单结束后,才能进行评价 地址URL /v1/common/Comment 支持格式 Json或普通form HTTP请求方式 POST 是否需要登录 是 关于登录授权,参见 如何登录授权 访问授权限制 暂无 请求参数 名称 类型 必选 描述 client_id string yes 申请应用时分配的AppKey access_token string yes 授权后的access to

  • 定义 司机卡片。 图片展示 代码演示 import Driver from 'pile/dist/components/driver' <Driver avatarUrl="" carColor="白" carType="大众速腾" card="京FA7318" cntOrder={174} company="车主之家-车主俱乐部望京店" isMaster={fals

  • 本文向大家介绍比较公司和公司。,包括了比较公司和公司。的使用技巧和注意事项,需要的朋友参考一下 公司与公司之间的主要区别如下- 公司 成立公司 这是经营业务的实体。 注册为公司的第一步。 它被称为CORP。 它被称为INC。 第二阶段的业务。 进行公司注册手续。 持有个人资产负债。 有限责任。 成立过程的结果。 应遵循法律程序。 不要为公司筹集资金。 充当集资渠道。 与日常业务活动有关。 维护所有

  • 司机取消改派 基本描述 司机接单后,行程开始前,由于司机原因取消订单,会为乘客进行订单改派。具有以下优势: 取消改派可以有效减少由于司机原因导致订单取消而造成的行程影响。 司机取消订单后,不需要乘客重新叫车,减少等待时间。 业务流程示例 接入流程 1.开发接入 如果您还未接入用车 API,请先接入用车API,详情请联系滴滴商务。 如果您已经接入用车 API,需在原有的基础上以下的修改: a.订单请

  • 输出如下: 第一张牌:8张,3张总共:11张你想要另一张牌吗?(是/否):是的,卡片:7张,总共:18张,你想要另一张卡片吗?(是/否):是的,卡片:7张,总共:18张,你想要另一张卡片吗?(是/否):n 我希望能够在循环中生成一张新的随机卡,显示重复出现的总数,并停止程序。我不明白的问题是如何使用random.nextInt工具,并能够更容易地重复使用它。目前它被卡在card1、card2、ca