如何从node-mongodb本机驱动程序获取db实例?

2023-12-14

考虑一下,我在 main 中打开了 MongoDB 连接app.js文件本身和以下代码落在它的回调中:

mongodb.connect('MongoDBUrlGoesHere', function (err, db) {
   app.listen(app.get('port'), function AppListnCB() {
       console.log("Server listening on port " + app.get('port'));
   });
});

完成这一切是为了在应用程序中只有一个数据库实例。

现在,如果我们在另一个external.js文件并需要相同的db已经连接的对象。如果我们使用的话,这可以很容易地完成蒙古皮 or mongoose

有人可以帮助我找到如何使用本机驱动程序来完成此操作吗?


您可以编写一个包装器,一个存储数据库实例的新模块,类似于以下内容:

//db.js
var HOSTNAME = ...
var PORT = ...

var db = module.exports = {};
var instance;

db.connect = function (){
    ...
    instance = <db_instance>;
};

db.disconnect = function (){
    ...
    instance = null;
};

db.instance = function (){
    return instance;
};

现在,每次您需要数据库实例时,都可以通过执行以下操作来检索它:

var db = require ("./path/to/db");
db.instance ();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从node-mongodb本机驱动程序获取db实例? 的相关文章

  • MongoDB自增ID

    MongodB 中自动生成的 ID 的大小为12 Bytes大整数的大小是8 bytes 我在 4 台运行 Ubuntu Server 的机器上有一个 mongodb 集群 但我现在只是在测试 插入只能通过一台服务器 即 Nodejs 服务
  • socket.io 作为客户端

    有什么方法可以将socketio作为客户端运行 不是浏览器 而是nodejs脚本 我需要将数据从服务器广播到一些客户端 浏览器 和另一台linux机器 仅运行nodejs来获取变量 没有浏览器 欢迎任何想法 Regards github上有
  • 如何在nodejs缓冲区中存储整数?

    节点jsBuffer http nodejs org docs v0 4 12 api buffers html是相当膨胀 然而 它似乎适合存储字符串 构造函数采用字符串 字节数组或要分配的字节大小 我使用的是 Node js 0 4 12
  • 使用 Node.js 构建网站的最佳实践

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我想知道如何使用 Node js 从头开始 开发一个网站 我明白我怎么能possibly
  • Mongoose 独特的验证不起作用。保存重复条目

    我正在开发一个 NodeJS 应用程序 其中express是框架 MongoDB是数据库 我正在使用猫鼬插件 我有一个父母模型 我已经添加了独特 真实到场 mobile 但是每当我添加相同的手机号码时 唯一性验证就会失败 除了保存重复的文档
  • 带有 npm 启动脚本的 Nodejs 应用程序

    我对nodejs很陌生 在我的docker化环境中 我想为nodejs应用程序提供appdynamics支持 这要求每个应用程序都要求将以下内容作为其应用程序的第一行 require appdynamics profile controll
  • 如何处理 MongoDB 的断开连接错误

    我在 Node js 进程中看到了这个未捕获的异常 Uncaught exception Error read ETIMEDOUT at TCP onStreamRead internal stream base commons js 16
  • "message": "ENOENT: 没有这样的文件或目录,打开 'E:\\astrology\\utils\\uploads\\1600798534862qf.png'"

    正如标题所示 我得到error message ENOENT no such file or directory open E astrology utils uploads 1600798534862qf png 在我的项目中 即使在通过
  • NodeJS:调用 global.gc() 不会将内存减少到最低限度?

    为了调查内存泄漏 我设置了一条触发的路线global gc 在每个POST gc app post gc function req res global gc 但是 我注意到 如果我发送垃圾邮件此请求 每次都会越来越多地减少内存使用量 不应
  • 如何将函数设置为 multer 上的限制参数?

    在这个问题之后 我可以使用 multer 和单个 html 表单上传不同文件夹中的多个文件吗 https stackoverflow com questions 39726862 cani upload many files in diff
  • 使用 PM2 将节点作为服务运行 - 连接被拒绝

    我正在关注this https www digitalocean com community tutorials how to set up a node js application for production on ubuntu 16
  • Apache + Symfony2 + HTTPS + Node.js + Socket.io:socket.emit 未触发

    我花了几个小时来解决这个问题 但毫无结果 编辑 找到解决方案 参见我的答案 项目背景 我正在构建一个项目Symfony2 这需要一个用于上传大文件的模块 我选择了Node js and Socket IO 我必须从头开始学习 所以我可能会错
  • Mongoose.js instance.save() 回调未触发

    var mongo require mongoose var connection mongo createConnection mongodb 127 0 0 1 test connection on error function err
  • Node Sass 没有绑定您当前的环境

    我在 SO 上看到过很多这样的问题 但似乎没有一个能解决或匹配问题 Node Sass 找不到适合您当前环境的绑定 带有 Node js 6 x 的 Windows 64 位 奇怪的是 我没有安装 Node js 6 x 从命令行 node
  • 是否可以提高 Mongoexport 速度?

    我有一个 1 3 亿行的 MongoDB 3 6 2 0 集合 它有几个简单的字段和 2 个带有嵌套 JSON 文档的字段 数据以压缩格式 zlib 存储 我需要尽快将其中一个嵌入字段导出为 JSON 格式 然而 mongoexport 需
  • NodeJS Express Windows 最大连接数设置

    在哪里设置nodejs的最大连接数 用于使用express get 在 Windows 10 中 与linux中的最大文件 描述符 设置有关吗 有该设置的 Windows 版本吗 最好是在nodejs中进行设置 以便在迁移到unix时兼容
  • socket.io 的良好初学者教程? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 PHP 从 Mongo 解码 JSON

    我已经看过这个线程 PHP 解码嵌套 JSON https stackoverflow com questions 3555335 php decode nested json并没有设法用它来解决我的问题 我目前正在从 Mongo 获取 J
  • Node js,通过管道将 pdfkit 传输到内存流

    我在用pdfkit https github com devongovett pdfkit在我的节点服务器上 通常创建 pdf 文件 然后将它们上传到 s3 问题是 pdfkit 示例将 pdf 文档通过管道传输到节点写入流 该节点写入流将
  • 从数据库检查数据的异步解决方案各种循环子句

    我想要做的是异步检查数据库并从中获取结果 在我的应用程序中我试图实现Asynchronously将此步骤解决为 从数据库中检查手机号码JsonArray循环子句的种类 Create JsonArray从结果 打印创建的数组 我学到了足够多的

随机推荐

  • 使用 CSS3 过渡对不可设置动画的属性进行动画处理

    在我的应用程序中 我使用以下内容对页面上元素的不透明度进行动画处理 s transition property opacity transition duration 250ms 当然 有特定于供应商的版本 进而 s hidden opac
  • 标签是 XHTML 中的块级元素吗?

    我知道在HTML4 0中 p tag 不是块级元素 那么在 XHTML 1 0 中呢 谢谢 这是HTML4 0的参考http www w3 org TR html401 struct text html P 元素代表一个段落 它不能包含块级
  • 面向非美国开发者的 Paypal Android SDK

    我是一名非美国开发人员 正在构建一个也可以在美国境外运行的 Android 应用程序 我搜索了一段时间有关 Android SDK 何时在美国境外可用的信息 但没有找到任何信息 我正在寻找一种将 Paypal 支付与我的应用程序集成的方法
  • Unix 文件名中应限制哪些字符?

    考虑一个Save As带有自由文本条目的对话框 用户可以在其中输入文件名作为自由文本 然后单击Save按钮 然后 软件会验证文件名 如果名称有效则保存文件 在 Unix 文件系统上 验证中应应用哪些规则 以后在转义特殊字符等方面操作该名称并
  • 找不到管道“safeResourceUrl”

    由于我正在尝试将 YouTube 视频动态嵌入到我的 Angular 2 应用程序中 因此正在努力解决一些安全错误 在这里找到了关于使用 Pipe 来清理 url 的答案 但是遇到这个当前错误 找不到管道 safeResourceUrl S
  • Java加载二进制文件

    请告诉我最好 最快的方法 1 将非常小的二进制文件加载到内存中 例如图标 2 加载 读取大小为 512Mb 的非常大的二进制文件 也许我必须使用内存映射IO 3 当您不想考虑大小 速度而只需要做一件事时 您的常见选择 将所有字节读入内存 谢
  • 消除GOT寄存器的冗余负载?

    我正在处理一些在编译为 PIC 位置无关代码 时速度慢 70 80 的代码 并寻找缓解该问题的方法 问题的一个重要部分是 gcc 坚持在每个函数中插入以下内容 call i686 get pc thunk bx addl GLOBAL OF
  • SV 或 UVM 中的正则表达式

    我需要调用哪些函数才能在 Systemverilog UVM 中使用正则表达式 注意 我不是问如何使用正则表达式 只是问方法名称 首先 如果您想使用正则表达式 您需要确保您使用的是与其 DPI 代码一起编译的 UVM 库 即UVM NO D
  • 验证 Rails 中的网站所有权

    有关类似主题的最新讨论 请检查this问题出来了 验证特定用户是否拥有网站所有权的最佳方法是什么 假设您有这个模型 class User lt ActiveRecord Base has many websites end 为了确保用户确实
  • 如何使用 YouTube API 获取特定直播视频的当前观看人数?

    如何使用YouTube API获取实时视频的当前观看人数 我可以使用视频源请求来查看当前观看者的数量 如下所示 它会返回随机视频 但我需要获取特定视频的当前观看者 所以当我使用视频请求时 像这样 当前没有Viewers字段 在线查看Coun
  • 获取 BigQuery 项目中所有 BigQuery 表的上次访问日期

    我知道如何获取表上次修改但未访问的日期 是否可以获得最后一次读取表的时间 是否有查询或 API 可以获取此信息 如果你有审计日志在 BigQuery 中 您可以编写如下查询 WITH tables AS SELECT FORMAT s s
  • JPA ManyToMany 对于用户和组?

    同样的问题在这里 但这对我没有帮助 我有三个表和多对多连接 在我的 JSF 应用程序中 我尝试添加用户 在我的组表中 有三个不同的组 管理员 客户和用户 我做了什么 将数据插入 jsf 表单后 用户单击 保存 名为 usersControl
  • 将淡入淡出效果应用于 UICollectionView 的顶部和底部

    我已经阅读了这里的示例 但我无法按照我想要的方式进行操作 不知何故 我的渐变示例卡在屏幕中间 无法按预期工作 我有一个UICollectionView它用垂直滚动填充整个屏幕 我想要顶部和底部UICollectionView为黑色 中间为透
  • fill() 之后设置矩阵中的值返回不正确的矩阵[重复]

    这个问题在这里已经有答案了 如果我像这样初始化矩阵 x O O O O O O O O O 然后设置x 0 1 X 它返回 O X O O O O O O O 正如预期的那样 但是 如果我按如下方式初始化矩阵 x new Array 3 f
  • 级联下拉菜单删除先前选定的内容

    我正在尝试在 html 中添加 7 个下拉框 它们都将填充相同的数据 我想做的是 当选择第一个下拉列表时 它将从下一个下拉列表中删除所选项目 因此 如果您在一个下拉列表中有数字 A B C D E F G H I 如果我在第一个下拉列表中选
  • 如何在symfony中检索带有ID的一条记录之后的所有记录?

    假设我有一个表 我在 symfony 中按字母顺序排序 每个项目都有一个相当随机的 ID 我想检索某个 ID 之后的所有项目 例如 Name ID Apple 5 Banana 9 Coconut 3 Date 1 Eggplant 8 假
  • Google Chrome 开发工具中的交叉样式属性是什么意思?

    使用 Chrome 的开发工具检查元素时 在元素选项卡中 右侧的 样式 栏会显示相应的 CSS 属性 有时 其中一些属性会被删除 这些属性意味着什么 当 CSS 属性显示为删除线时 意味着应用了划掉的样式 但随后被更具体的选择器 更本地化的
  • 运行并行进程并在其中一个失败时退出所有进程

    我有这段代码 首先make t1 make t2 and make t3在平行下 有没有一种方法可以在 make 进程失败时终止其余进程 例如 如果make t2失败 脚本应该终止其他 2 个正在运行的脚本 make t1 and make
  • 我可以在谷歌地图路线上放置多少个标记有限制吗?

    我可以在谷歌地图路线上放置多少个标记有限制吗 如果是 如何克服 我的开发人员说他不能在路线上添加超过 10 个标记 是的 我在网上找不到任何与此相关的内容 TIA 根据文档 for v3 允许的最大航路点为 8 个 加上出发地和目的地 Ma
  • 如何从node-mongodb本机驱动程序获取db实例?

    考虑一下 我在 main 中打开了 MongoDB 连接app js文件本身和以下代码落在它的回调中 mongodb connect MongoDBUrlGoesHere function err db app listen app get