开发期间的流星自定义mongodb
Posted
技术标签:
【中文标题】开发期间的流星自定义mongodb【英文标题】:Meteor custom mongodb during development 【发布时间】:2012-06-27 05:17:59 【问题描述】:我将如何使用(实时运行的)MongoDB 来开发另一个流星应用程序?在运行meteor
之前,我尝试修改(.meteor/server/server.js
)并指定MONGO_URL
无济于事。
这没有使用捆绑的 MongoDB,它必须是一个单独的/自定义的(基本上是另一个流星实例)。
这可以用deploy method 来完成,但是在开发过程中普通的meteor run
呢?
更新:这确实有效,但是客户端实现似乎有点小故障
【问题讨论】:
我也有同样的问题,但在这里找不到答案。实际上我没有找到 ./meteor/server 文件夹,但是 ./meteor/local/build/server/ 中的 server.js 将在您重新启动流星服务器时始终重建。 【参考方案1】:如Unofficial Meteor FAQ 中所述,您可以调用 Meteor,并将 MONGO_URL
环境变量设置为所需的实例:
MONGO_URL=mongodb://localhost:27017 meteor
如果您的 MongoDB 处理多个数据库,您可以通过将其附加到 URL 来指明使用哪一个:
MONGO_URL=mongodb://localhost:27017/mydb meteor
您甚至可以通过运行以下命令来阻止 Meteor 在开发中启动本地 Mongo 实例:
MONGO_URL=none meteor
【讨论】:
有没有办法将变量存储在项目的某处?总是输入MONGO_URL=...
来启动流星似乎很愚蠢。如果可以在使用meteor run
时以某种方式获取它会很好。 (我知道,第一世界的问题..)
@archiehicox 不需要。只需将该 env 变量放到您的 ~/.profile
文件中以在用户范围内传播,或在 /etc/environment
中进行系统范围内传播。
@Shehi 这是一个好方法。你是对的,它不是特定于项目的。【参考方案2】:
我发现你不应该忘记指定要连接的数据库。在我的例子中,我想要第二个 Meteor 实例从第一个实例连接到开发 MongoDB 服务器。
Meteor 使用 HTTP 端口 +2 用于开发 MongoDB,以及数据库 'meteor',因此启动第二个服务器的正确方法是:
MONGO_URL=mongodb://localhost:3002/meteor meteor --port=3800
【讨论】:
实际上是 HTTP 端口 +1(至少现在是)。您可以通过调用meteor mongo
连接到默认数据库来验证这一点。所以默认数据库mongodb://localhost:3001/meteor
以上是关于开发期间的流星自定义mongodb的主要内容,如果未能解决你的问题,请参考以下文章