Tìm trực tiếp mã cho gói tài khoản-cơ sở (Meteor v 1.0.4), có vẻ như họ không chính thức hỗ trợ cách thiết lập cơ sở dữ liệu cho bộ sưu tập người dùng. Như bạn có thể thấy từ mã, máy chủ luôn kết nối bằng Meteor.connection mặc định:
Meteor.users = new Mongo.Collection("users", { // line 141
_preventAutopublish: true,
connection: Meteor.isClient ? Accounts.connection : Meteor.connection
});
Accounts.connection
được đặt ở trên, nhưng rõ ràng là không được hỗ trợ:
// ~ line 118
if (Meteor.isClient
....
if (typeof __meteor_runtime_config__ !== "undefined" &&
__meteor_runtime_config__.ACCOUNTS_CONNECTION_URL) {
// Temporary, internal hook to allow the server to point the client
// to a different authentication server. This is for a very
// particular use case that comes up when implementing a oauth
// server. Unsupported and may go away at any point in time.
//
// We will eventually provide a general way to use account-base
// against any DDP connection, not just one special one.
Accounts.connection = DDP.connect(
__meteor_runtime_config__.ACCOUNTS_CONNECTION_URL)
}
}
Tuy nhiên, tôi đã có thể làm cho nó sử dụng cơ sở dữ liệu của mình bằng cách đặt biến môi trường $ MONGO_URL (mà tôi tin rằng sẽ đặt kết nối mặc định, được gói tài khoản sử dụng):
Trong một cửa sổ đầu cuối, tôi đã bắt đầu mongo trên cổng 27017
> mongod
Trong một cửa sổ khác, tôi đặt MONGO_URL và thêm các gói thích hợp, sau đó bắt đầu sao băng:
> export MONGO_URL=mongodb://localhost:27017/test
> meteor add accounts-base
> meteor add accounts-password
> meteor
Và cuối cùng trong bảng điều khiển trình duyệt của mình, tôi đã tạo một tài khoản:
> Accounts.createUser({username: 'me', password: 'guest'});
Sau đó, tôi đã kết nối với test
cơ sở dữ liệu trong phiên bản mongo của tôi:
> mongo
MongoDB shell version: 3.0.1
connecting to: test
> db.users.find()
{ "_id" : "L3EDrS8FnRymDLhPp", ... "username" : "me" }
Tóm lại, tôi nghĩ bạn có ba lựa chọn không phải là quá tuyệt vời:
- Sử dụng
MONGO_URL
biến môi trường (có lẽ là lựa chọn tốt nhất) - Hack gói cơ sở tài khoản để làm những gì bạn muốn
- Dùng thử
ACCOUNTS_CONNECTION_URL
không được hỗ trợ biến, có thể 'biến mất bất kỳ lúc nào'