在Windows 10上使用mongod作为服务的多个流星应用程序

问题描述

位于C:\ Users \ USERNAME \ Documents \ meteor \ apps \ APPNAME.meteor \ local \ build \ programs \ server \ packages \ mongo.js的mongo.js第3476行说:

var mongoUrl = process.env.MONGO_URL;

服务器上的

console.log('Connection url => ',process.env.MONGO_URL);打印出来

Connection url => mongodb://127.0.0.1:3001/meteor

在我的Windows 10环境变量名称/值中哪里没有MONTO_URL的条目,但是PATH中有C:\Program Files\MongoDB\Server\4.2\bin,这表示此Windows 10上安装了mongodb。

mongod在此窗口10计算机上作为服务运行,因此在打开的第一个cmd终端中,我可以键入'mongo'并获取mongo shell,

如何使用此mongo服务器代替流星mongodb?

https://docs.meteor.com/environment-variables.html#MONGO-URL说: MONGO_URL =“ mongodb:// user:password@myserver.com:10139”

这是否意味着以下内容? MONGO_URL =“ mongodb:// windowsUsername:windowsUserPassword@127.0.0.1:27017 / my_db_name”

我有一个package.json,其中包含以下条目: "scripts": {"start": "meteor run"} 我应该将其更改为

"scripts": {"start": "meteor run","meteor": "MONGO_URL="mongodb://windowsUsername:windowsUserPassword@127.0.0.1:27017/my_db_name" }

https://docs.npmjs.com/creating-a-package-json-file没有提供这种情况的示例。

关于运行该应用程序,链接https://docs.meteor.com/commandline.html#meteorrun说键入meteormeteor run相同,那么是否不需要脚本行"start": "meteor run",?>

我是否需要担心npm run meteor,如此处所示 https://stackoverflow.com/a/35256627/5047454

谢谢

解决方法

在启动流星之前,您需要设置环境变量。如果要使用脚本条目执行此操作,则必须将其放在启动流星的位置,然后使用npm run start

"scripts": {
  "start": "MONGO_URL=mongodb://windowsUsername:windowsUserPassword@127.0.0.1:27017/my_db_name meteor run"
}

我不在Windows上使用流星,所以我不认识这第一手,但是从this answer看来,您需要使用:

cmd /C "set MONGO_URL=\"mongodb://windowsUsername:windowsUserPassword@127.0.0.1:27017/my_db_name\" && meteor"

我会尝试先使其工作,然后再使其工作,然后在package.json的脚本中进行设置。