在Meteor 1.7.0.4中升级MongoDB驱动程序

Abh*_*nha 10 mongodb node.js meteor mongodb-query

Meteor 1.7.0.x中默认的MongoDB驱动程序版本为3.0.7

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

如何在Meteor 1.7.0.x中使用驱动程序版本3.1?

Jan*_*nkt 0

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

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

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

论文集

  • packages在您的项目目录中创建一个文件夹
$ cd ~/path/to/your-project
$ mkdir -p packages
Run Code Online (Sandbox Code Playgroud)
  • 从 Github克隆或下载Meteor(至~/path/to/meteor)。

  • 将核心包从 Meteor 复制到您的包文件夹中

$ cd ~/path/to/meteor/packages/
$ cp -r npm-mongo ~/path/to/your-project/packages/
Run Code Online (Sandbox Code Playgroud)
  • 将文件编辑package.js为以下最新版本(当前为 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");
});
Run Code Online (Sandbox Code Playgroud)
  • 运行你的应用程序,祈祷吧。

替代步骤

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