Podívejte se přímo na kód pro základní balíček účtů (Meteor v 1.0.4), vypadá to, že oficiálně nepodporují způsob, jak nastavit databázi pro kolekci uživatelů. Jak můžete vidět z kódu, server se vždy připojuje pomocí výchozího Meteor.connection:
Meteor.users = new Mongo.Collection("users", { // line 141
_preventAutopublish: true,
connection: Meteor.isClient ? Accounts.connection : Meteor.connection
});
Accounts.connection
je nastaveno výše, ale výslovně není podporováno:
// ~ 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)
}
}
Podařilo se mi jej však přimět k použití mé databáze nastavením proměnné prostředí $MONGO_URL (o které se domnívám, že nastavuje výchozí připojení, které využívá balíček účtů):
V jednom okně terminálu jsem spustil mongo na portu 27017
> mongod
V dalším okně jsem nastavil MONGO_URL a přidal příslušné balíčky a poté spustil meteor:
> export MONGO_URL=mongodb://localhost:27017/test
> meteor add accounts-base
> meteor add accounts-password
> meteor
A nakonec jsem si v konzoli prohlížeče vytvořil účet:
> Accounts.createUser({username: 'me', password: 'guest'});
Poté jsem se připojil k test
databáze v mé mongo instanci:
> mongo
MongoDB shell version: 3.0.1
connecting to: test
> db.users.find()
{ "_id" : "L3EDrS8FnRymDLhPp", ... "username" : "me" }
Stručně řečeno, myslím, že máte tři ne příliš skvělé možnosti:
- Použijte
MONGO_URL
proměnná prostředí (pravděpodobně nejlepší možnost) - Nabourejte se do základního balíčku účtů, abyste mohli dělat, co chcete
- Vyzkoušejte nepodporovanou
ACCOUNTS_CONNECTION_URL
proměnná, která může „v kterémkoli okamžiku zmizet“