2013-01-14 19 views
11

Tôi muốn sử dụng cơ sở dữ liệu MongoHQ của riêng mình để sử dụng khi triển khai ứng dụng Meteor sử dụng meteor deploy. The documentation explains how to do this when deploying and running on a machine I control:Làm cách nào để xác định cơ sở dữ liệu MongoHQ khi triển khai ứng dụng Meteor?

$ PORT=3000 MONGO_URL=mongodb://localhost:27017/myapp node bundle/main.js 

Nhưng các tài liệu có vẻ hơi thưa thớt về cách để làm điều này với meteor deploy. Có thể không?

EDIT: Tôi cố gắng sau http://docs.meteor.com/#meteor_settings và thêm một tập tin settings.json và đặt trong nó:

{"MONGO_URL" : "mongodb://user:[email protected]:10000/mydatabase"} 

sau đó triển khai với

meteor deploy myappname.meteor.com --settings settings.json

nhưng phiên bản được triển khai không nhìn thấy để đang sử dụng cơ sở dữ liệu của tôi

+0

Bạn cần quyết định nơi máy chủ web cho sao băng sẽ chạy. MongoHQ chỉ có thể điền vào vai trò của một máy chủ DB. Tôi nghi ngờ rằng trình hỗ trợ triển khai không bao gồm MONGO_URL, do đó việc triển khai cơ sở hạ tầng Meteor sẽ không sử dụng cơ sở dữ liệu MongoHQ. Nhưng bạn chắc chắn nên hỏi các nhà phát triển Meteor và đưa ra yêu cầu. – mjhm

+0

Tôi muốn triển khai nó với "triển khai thiên thạch", mà tôi nghĩ triển khai cho máy chủ của họ. Nhưng tôi muốn sử dụng phiên bản MongoHQ của riêng tôi thay vì phiên bản mặc định của MongoHQ. – nickponline

+0

Tôi đã thêm tệp settings.json và đặt vào đó: {"MONGO_URL": "mongodb: // user: [email protected]: 10000/mydatabase"} sau đó được triển khai với meteor 'deploy myappname.meteor.com --settings settings.json' nhưng phiên bản được triển khai không thấy đang sử dụng cơ sở dữ liệu của tôi. – nickponline

Trả lời

3

Tôi đã kết thúc việc triển khai lên Heroku thay vì sử dụng buildpack. Sau đó, tôi có thể thiết lập các biến bằng cách sử dụng các cấu hình heroku.

2

Quét nhanh mã nguồn sẽ hiển thị dòng này trong remote_collection_driver.js:

Meteor._RemoteCollectionDriver = new Meteor._RemoteCollectionDriver (process.env.MONGO_URL);

Tôi chắc chắn nếu bạn tấn công để trỏ đến nơi bạn muốn, nó sẽ hoạt động. Nếu đó là quá nhiều kluge (ví dụ, nếu bạn dự định cập nhật các phiên bản Meteor), bạn có thể thử nghiệm với việc cố gắng thay đổi Meteor._RemoteCollectionDriver hoặc process.env.MONGO_URL đủ sớm, từ mã của riêng bạn (không xâm nhập trực tiếp vào các met của Meteor)). Chúc may mắn.

Các vấn đề liên quan