sql >> Database >  >> NoSQL >> MongoDB

Meteor-databaseverbinding

Hoe kun je verbinding maken met een MongoDB met Meteor?

Scenario A:gebruik de ingebouwde database als standaard

Dit is veel eenvoudiger dan wat je deed. Wanneer je meteor run laat lopen je start eigenlijk een DB met de Meteor-server, waar Meteor luistert op poort 3000 en de database op poort 3001. De Meteor-app is al verbonden met deze database op poort 3001 en gebruikt een db met de naam meteor . Het is niet nodig om terug te vallen op MongoInternals.RemoteCollectionDriver . Verwijder die code en verander de dingen in:

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

Scenario B:gebruik een andere database als standaard

De MONGO_URL . gebruiken omgevingsvariabele kunt u de verbindingsreeks instellen op een MongoDB bij het starten van de Meteor-server. In plaats van de lokale poort 3001-database of een niet-geverifieerde verbinding kunt u precies aangeven waar en hoe u verbinding wilt maken. Start uw Meteor-server als volgt:

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

U kunt ook de user:[email protected] onderdeel van de opdracht als er geen authenticatie nodig is.

Scenario C:verbinding maken met een tweede (3e, enz.) DB van dezelfde Meteor-app

Nu moeten we MongoInternals.RemoteCollectionDriver . gebruiken . Als u een andere database wilt gebruiken die niet de standaard DB is die is gedefinieerd bij het starten van de Meteor-server, moet u uw aanpak gebruiken.

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

Bonus:waarom zou u MongoInternals niet gebruiken? met Mongo.Collection ?

Zoals de documenten aangeven u mag geen enkele Mongo-verbinding doorgeven aan de new Mongo.Collection() commando, maar alleen een verbinding met een andere Meteor-instantie. Dat betekent dat als u DDP.connect . gebruikt om verbinding te maken met een andere server kunt u uw code gebruiken - maar u moet de MongoInternals niet mixen met Mongo.Collection - ze werken niet goed samen.



  1. Mongo DB met C# - document toegevoegd ongeacht transactie

  2. java.lang.NoClassDefFoundError bij gebruik van MongoDB-stuurprogramma

  3. Hoe vind je gelijkenis in documentveld MongoDB?

  4. Hoe een array van objecten in een array in mangoest te duwen met één oproep?