sql >> Databáze >  >> NoSQL >> MongoDB

Připojení k databázi meteorů

Jak se můžete připojit k MongoDB pomocí Meteor?

Scénář A:Použijte vestavěnou databázi jako výchozí

Je to mnohem jednodušší než to, co jste udělali vy. Když spustíte meteor ve skutečnosti spustíte DB se serverem Meteor, kde Meteor naslouchá na portu 3000 a databáze na portu 3001. Aplikace Meteor je již připojena k této databázi na portu 3001 a používá databázi s názvem meteor . Není třeba se vůbec vracet k MongoInternals.RemoteCollectionDriver . Stačí odstranit tento kód a změnit věci na:

 Boxes = new Mongo.Collection("boxes"); // use default MongoDB connection

Scénář B:Jako výchozí použít jinou databázi

Pomocí MONGO_URL Proměnnou prostředí můžete při spouštění serveru Meteor nastavit připojovací řetězec na MongoDB. Místo lokální databáze portu 3001 nebo neověřeného připojení můžete přesně určit, kde a jak se připojit. Spusťte svůj server Meteor takto:

$ MONGO_URL=mongodb://user:[email protected]:27017/meteor meteor

Můžete také vynechat user:[email protected] část příkazu, pokud není potřeba žádné ověření.

Scénář C:Připojení k druhé (třetí atd.) DB ze stejné aplikace Meteor

Nyní musíme použít MongoInternals.RemoteCollectionDriver . Pokud chcete použít jinou databázi, která není výchozí DB definovanou při spuštění serveru Meteor, měli byste použít svůj přístup.

var database = new MongoInternals.RemoteCollectionDriver('mongodb://user:[email protected]:27017/meteor');
var numberOfDocs = database.open('boxes').find().count();

Bonus:Proč byste neměli používat MongoInternals s Mongo.Collection ?

Jak uvádějí dokumenty neměli byste předávat žádné spojení Mongo do new Mongo.Collection() příkaz, ale pouze připojení k jiné instanci Meteoru. To znamená, pokud používáte DDP.connect pro připojení k jinému serveru můžete použít svůj kód – neměli byste však kombinovat MongoInternals s Mongo.Collection - spolu nefungují dobře.



  1. StackExchange.Redis - Použití LockTake / LockRelease

  2. Redis benchmarking pro příkazy hget a hset

  3. ActionCable na AWS:Chyba během handshake WebSocket:Neočekávaný kód odpovědi:404

  4. Zjistěte, zda dotaz používá index v MongoDB