Ser direkte på koden til kontobasepakken (Meteor v 1.0.4), det ser ud til, at de ikke officielt understøtter en måde at indstille databasen til brugernes samling. Som du kan se fra koden, forbinder serveren altid ved hjælp af standard Meteor.connection:
Meteor.users = new Mongo.Collection("users", { // line 141
_preventAutopublish: true,
connection: Meteor.isClient ? Accounts.connection : Meteor.connection
});
Accounts.connection
er angivet ovenfor, men det er udtrykkeligt ikke understøttet:
// ~ 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)
}
}
Jeg var dog i stand til at få den til at bruge min database ved at indstille miljøvariablen $MONGO_URL (som jeg tror sætter standardforbindelsen, som bliver brugt af kontopakken):
I et terminalvindue startede jeg mongo på port 27017
> mongod
I et andet vindue indstillede jeg MONGO_URL og tilføjede de relevante pakker, og startede derefter meteor:
> export MONGO_URL=mongodb://localhost:27017/test
> meteor add accounts-base
> meteor add accounts-password
> meteor
Og endelig oprettede jeg en konto i min browserkonsol:
> Accounts.createUser({username: 'me', password: 'guest'});
Derefter oprettede jeg forbindelse til test
database i min mongo-instans:
> mongo
MongoDB shell version: 3.0.1
connecting to: test
> db.users.find()
{ "_id" : "L3EDrS8FnRymDLhPp", ... "username" : "me" }
Kort sagt, jeg tror, du har tre ikke-super-gode muligheder:
- Brug
MONGO_URL
miljøvariabel (sandsynligvis den bedste mulighed) - Hack den kontobaserede pakke for at gøre, hvad du vil
- Prøv den ikke-understøttede
ACCOUNTS_CONNECTION_URL
variabel, som kan 'gå væk på et hvilket som helst tidspunkt'