Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何连接Meteor中的外部MongoDB实例?_Mongodb_Meteor - Fatal编程技术网

如何连接Meteor中的外部MongoDB实例?

如何连接Meteor中的外部MongoDB实例?,mongodb,meteor,Mongodb,Meteor,我想了解如何连接Meteor中的外部MongoDB实例 我添加了这个环境 Meteor.startup(function () { process.env.MONGO_URL = 'mongodb://[UN]:PW]@[host]:[port]/meteorTest' }); 但数据仍然来自本地数据库 我想将所有集合从本地数据库移动到此外部数据库。我阅读了所有的教程,它都告诉我要设置这个evn变量,但没有真正起作用。如何测试它是否连接?以我自己的经验;在启动meteorjs服务器应用程序之

我想了解如何连接Meteor中的外部MongoDB实例

我添加了这个环境

Meteor.startup(function () { 
process.env.MONGO_URL = 'mongodb://[UN]:PW]@[host]:[port]/meteorTest'
});
但数据仍然来自本地数据库


我想将所有集合从本地数据库移动到此外部数据库。我阅读了所有的教程,它都告诉我要设置这个evn变量,但没有真正起作用。如何测试它是否连接?

以我自己的经验;在启动meteorjs服务器应用程序之前,我需要设置环境变量。为此,您需要在调用meteor或为系统上运行meteor应用程序的配置文件预设环境时,在命令行上传递环境变量

因此,您可以使用以下命令启动应用程序:

MONGO_URL='mongodb://user:password@remote.domain.com:12345/' meteor
您还应该确保mongodb是可访问的,并且您的用户凭据是正确的!我假设您正在尝试使用远程mongodb实例在本地计算机上运行meteor

在Windows上


您必须在meteor应用程序文件夹中创建一个批处理文件来调用环境变量。这里有一个例子:

在命令提示符下运行它:

 "MONGO_URL=mongodb://<USER>:<PASSWORD>@<SERVER>:<PORT>/<DB> meteor"
“MONGO_URL=mongodb:/:@:/meteor”

将此url保存在项目文件夹中的run.sh文件中,然后运行meteor

我不喜欢使用大的重复命令,我正在搜索一个解决方案,在该解决方案中,我将设置一个嵌入了某些内容的变量,因此每次启动meteor应用程序时;MONGO_URL将自动设置为环境。我就是这么做的:

在package.json文件中,我替换了start参数,如下所示:

"scripts": {
    "start": "MONGO_URL=mongodb://username:password@host_url:portnumber/dbname meteor run"
  },
现在每次我想运行我的应用程序;我运行
npm start
而不是
meteor
meteor run


注意:这有一个缺点。如果将db凭据放入package.json文件并将此文件添加到版本控制中,您的db凭据将被公开。

在windows上,我在系统的环境变量中设置了MONGO_URL,它对我来说运行良好

我创建了一个新的环境变量,它的值为MONGO_URL=mongodb://username:password@主机url:portnumber/dbname

在path变量中,我添加了%MONGO_URL%


然后在meteor应用程序根文件夹中,我运行了$meteor

-参考给定的链接,希望你能找到你的答案。我已经阅读了这篇文章。但是我无法确定我需要在终端或meteor启动中添加代码行的位置?如果我在启动时添加此项,它会抛出错误如果我在终端中添加此项,它表明导出不是命令在终端中尝试它我在终端中设置了变量,但当我运行meteor时,它抛出错误“MONGO_URL”不会被识别为内部或外部命令、可操作程序或批处理文件。我已从这个问题中删除,因为它可能会吸引反对票。在终端“MONGO_URL”中抛出此错误不会被识别为内部或外部命令、可操作程序或批处理文件。那么您是在windows计算机上?如果是这样,请看下面的答案:我创建了一个名为“startup.bat”的.bat文件,但仍然是在运行MONGO_URL='1'时创建的mongodb://user:password@remote.domain.com:12345/'meteor it抛出与运行.bat文件相同的错误。。。命令行上没有命令,您需要确保mongodb url配置正确。我这样做了,但集合看起来是空的。我尝试禁用自动发布,再次启用它并检查发布/订阅,但到目前为止一切正常。嗨,欢迎使用StackOverflow!你应该采取关于StackOverflow的措施,解释如何正确提问。社区是来帮助你的,但是你肯定需要提供更多的细节来帮助我们回答你的问题:)(例如代码示例,提供更多你想要实现的内容的上下文,等等)这里的关键是提供尽可能多的上下文:)