node.js - 在 Meteor 1.7.0.4 中升级 MongoDB 驱动程序

标签 node.js mongodb meteor mongodb-query

Meteor 1.7.0.x 中默认的 MongoDB 驱动版本是 3.0.7

我需要使用 MongoDB 驱动程序版本 3.1,因为可重试写入已在 3.1 中修复以进行多个文档更新 (https://jira.mongodb.org/browse/NODE-1513)

如何将驱动程序版本 3.1 与 Meteor 1.7.0.x 一起使用?

最佳答案

以下是解决方法指南,不应在生产应用中使用!

请注意,最后一个标记为稳定的 mongodb 驱动程序版本仍然是 3.0.11 (2018/09)。因此,您应该假设 MDG 在新版本被宣布为稳定之前不会更新 mongo 驱动程序。

使用任何最新版本都可能导致未知/意外行为,尤其是在生产环境中。继续自担风险。

进行中

  • 在您的项目目录中创建一个 packages 文件夹
$ cd ~/path/to/your-project
$ mkdir -p packages
  • 克隆或下载meteor from Github (到 ~/path/to/meteor)。

  • 将核心包从 meteor 复制到你的包文件夹

$ cd ~/path/to/meteor/packages/
$ cp -r npm-mongo ~/path/to/your-project/packages/
  • 将文件package.js编辑成如下latest发布(当前为 3.1.4):
// This has been moved out of the `mongo` package so it can be used by the tool
// via isopacket, without having to also load ddp-server.

Package.describe({
  summary: "Wrapper around the mongo npm package",
  version: "3.1.4",
  documentation: null
});

Npm.depends({
  mongodb: "3.1.4"
});

Package.onUse(function (api) {
  api.addFiles("wrapper.js", "server");
  api.export([
    "NpmModuleMongodb",
    "NpmModuleMongodbVersion",
  ], "server");
});
  • 运行您的应用,双手合十。

替代步骤

  • 无需从源代码下载整个 Meteor 项目,您只需在 packages/ 中创建一个名为 npm-mongo 的新文件夹,然后从 here 复制文件即可,然后根据上面的指南编辑 package.js

关于node.js - 在 Meteor 1.7.0.4 中升级 MongoDB 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51952334/

相关文章:

node.js - Electron 中的 `event.sender.send`和 `webContents.send`有什么区别?

javascript - Node 终端动画不起作用(它只显示数组中的前两项)

javascript - 当发布的光标基于另一个集合内容时,如何构建响应式(Reactive)发布?

oauth - Meteor 访问 token

linux - 1.0.1 更新后 meteor 正在填满 tmp 文件夹

meteor - Iron-router 的 Router.route 的正确语法?

javascript - 用node.js创建自己的mvc结构,表达并使用restful api

node.js - 如何查找 mongoDB 中第 n 层嵌套的对象? (单个集合、单个文档)

node.js - Node js异步mongodb find()查询多次调用

mongodb - dbowner "not authorized"更新用户?