Mongodb 如何以编程方式设置MONGO_URL?

Mongodb 如何以编程方式设置MONGO_URL?,mongodb,meteor,Mongodb,Meteor,如何在Meteor应用程序中设置MONGO_URL 我试过了 process.env.MONGO_URL = '...' 在我的服务器端代码中,在Meteor.startup之外,但这不起作用 我正在使用demeteorizer将其捆绑到node.js应用程序中。我无法直接在终端中设置MONGO_URL(我正在第三方提供商上运行我的应用程序)。来自 设置环境变量的值 对于任何变量,在保证行为的情况下,这是最安全的时间 在流星开始之前这通常通过以下两种方式完成: 应用程序的PaaS提供商控制面板

如何在Meteor应用程序中设置MONGO_URL

我试过了

process.env.MONGO_URL = '...'
在我的服务器端代码中,在Meteor.startup之外,但这不起作用

我正在使用demeteorizer将其捆绑到node.js应用程序中。我无法直接在终端中设置MONGO_URL(我正在第三方提供商上运行我的应用程序)。

来自

设置环境变量的值 对于任何变量,在保证行为的情况下,这是最安全的时间 在流星开始之前这通常通过以下两种方式完成: 应用程序的PaaS提供商控制面板,或在shell脚本中 发射流星的

重要信息:您也可以从Meteor内部设置/更改环境变量,但需要在使用之前进行设置。e、 现在来不及了 在Meteor加载后设置MONGO_URL,但邮件URL自 在发送任何邮件之前,您都可以将其设置好

设置环境变量的值 对于任何变量,在保证行为的情况下,这是最安全的时间 在流星开始之前这通常通过以下两种方式完成: 应用程序的PaaS提供商控制面板,或在shell脚本中 发射流星的

重要信息:您也可以从Meteor内部设置/更改环境变量,但需要在使用之前进行设置。e、 现在来不及了 在Meteor加载后设置MONGO_URL,但邮件URL自 在发送任何邮件之前,您都可以将其设置好


您可以覆盖默认的收集驱动程序

MongoInternals.defaultRemoteCollectionDriver = _.once(function () {
  return new MongoInternals.RemoteCollectionDriver(Meteor.settings.MONGO_URL, {
    oplogUrl: Meteor.settings.MONGO_OPLOG_URL
  });
});
或者按集合手动设置

var database = new MongoInternals.RemoteCollectionDriver(Meteor.settings.MONGO_URL, {
  oplogUrl: Meteor.settings.MONGO_OPLOG_URL
});

somecollection = new Mongo.Collection('somecollection', {_driver: database});

您可以覆盖默认的收集驱动程序

MongoInternals.defaultRemoteCollectionDriver = _.once(function () {
  return new MongoInternals.RemoteCollectionDriver(Meteor.settings.MONGO_URL, {
    oplogUrl: Meteor.settings.MONGO_OPLOG_URL
  });
});
或者按集合手动设置

var database = new MongoInternals.RemoteCollectionDriver(Meteor.settings.MONGO_URL, {
  oplogUrl: Meteor.settings.MONGO_OPLOG_URL
});

somecollection = new Mongo.Collection('somecollection', {_driver: database});

也许您可以使用?也许您可以使用?您可以指定需要覆盖默认集合驱动程序的确切位置吗?在服务器端向main.js插入代码似乎不起作用。在创建集合之前,您需要确保这样做。因此,理想情况下,您有一个包,可以在其中创建所有集合。您包含的第一个文件是覆盖远程收集驱动程序的文件。但是我同意主要答案——使用环境变量是最好的方法。您能指定需要覆盖默认收集驱动程序的确切位置吗?在服务器端向main.js插入代码似乎不起作用。在创建集合之前,您需要确保这样做。因此,理想情况下,您有一个包,可以在其中创建所有集合。您包含的第一个文件是覆盖远程收集驱动程序的文件。但是我同意主要答案——使用环境变量是最好的方法。