sql >> Database teknologi >  >> NoSQL >> MongoDB

Meteor database forbindelse

Hvordan kan du oprette forbindelse til en MongoDB med Meteor?

Scenario A:Brug den indbyggede DB som standard

Dette er meget enklere, end du gjorde. Når du kører meteor du starter faktisk en DB med Meteor-serveren, hvor Meteor lytter på port 3000 og databasen på port 3001. Meteor-appen er allerede forbundet til denne database på port 3001 og bruger en db ved navn meteor . Der er ingen grund til at falde tilbage til MongoInternals.RemoteCollectionDriver . Du skal bare fjerne den kode og ændre tingene til:

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

Scenario B:Brug en anden DB som standard

Brug af MONGO_URL miljøvariabel du kan indstille forbindelsesstrengen til en MongoDB, når du starter Meteor-serveren. I stedet for den lokale port 3001-database eller en ikke-godkendt forbindelse kan du specificere præcis, hvor og hvordan der skal oprettes forbindelse. Start din Meteor-server sådan her:

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

Du kan også udelade user:[email protected] del af kommandoen, hvis der ikke er behov for godkendelse.

Scenario C:Opret forbindelse til en anden (3. osv.) DB fra den samme Meteor-app

Nu skal vi bruge MongoInternals.RemoteCollectionDriver . Hvis du ønsker at bruge en anden database, der ikke er standard-DB defineret ved start af Meteor-serveren, bør du bruge din tilgang.

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

Bonus:Hvorfor bør du ikke bruge MongoInternals med Mongo.Collection ?

Som dokumenterne angiver du bør ikke videregive nogen Mongo-forbindelse til den new Mongo.Collection() kommando, men kun en forbindelse til en anden Meteor-instans. Det betyder, at hvis du bruger DDP.connect for at oprette forbindelse til en anden server kan du bruge din kode - men du bør ikke blande MongoInternals med Mongo.Collection - de fungerer ikke godt sammen.



  1. Opretter forbindelse til MongoDB over SSL med Node.js

  2. Mongodb, samlet forespørgsel med $lookup

  3. Få optælling af logniveau for hvert navn

  4. Spring Data MongoDB hvordan man tildeler udløbstid programmatisk