在 Meteor 1.7.0.4 中升级 MongoDB 驱动程序

Upgrade MongoDB Driver in Meteor 1.7.0.4

Meteor 1.7 中的默认 MongoDB 驱动程序版本是 3.0.7。0.x

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

如何在 Meteor 1.7 中使用驱动程序版本 3.1。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 根据上面的指南。