背景:我正在为生产准备一个Meteor应用,特别是我正在添加服务器日志记录。要执行此操作,我将winston与MongoDB plugin一起使用。这需要数据库的URL。这些数据库在生产和开发环境之间是不同的,所以我想以编程方式设置它。
我试图避免运行分支脚本来运行
# meteor mongo --url
我也无法在开发服务器上访问$ MONGO_URL(它似乎没有设置,例如在process.env.MONGO_URL中)
我希望有类似下面的内容,但我在文档中或通过Google找不到此内容。
Meteor.MongoDB.getURL();
很抱歉,如果这是非常明显的事情......感觉应该很容易。
答案 0 :(得分:2)
这适用于服务器端。它需要Meteor 1.0.4+(我认为。最近添加了一些):
var collection = new Mongo.Collection("some_collection");
console.log(collection.rawCollection().db.options.url)
请记住,您可以拥有多个MongoDB(至少在集合级别,或者这至少是设计的方式),因此您需要查询集合的Mongo URL。
答案 1 :(得分:0)
我找到了答案。
正如问题所述,MONGO_URL环境变量未定义,但这似乎是我的IDE中的误解或错误。
当我记录process.env的值时,我看到MONGO_URL确实设置了,所以我已经使用了它。
简而言之:
process.env.MONGO_URL