MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Връзка с метеорна база данни

Как можете да се свържете с MongoDB с Meteor?

Сценарий A:Използвайте вградената база данни по подразбиране

Това е много по-просто от това, което направихте. Когато стартирате meteor всъщност стартирате DB със сървъра Meteor, където Meteor слуша на порт 3000, а базата данни на порт 3001. Приложението Meteor вече е свързано към тази база данни на порт 3001 и използва db с име meteor . Няма никаква нужда да се връщате към MongoInternals.RemoteCollectionDriver . Просто премахнете този код и променете нещата на:

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

Сценарий Б:Използвайте различна база данни по подразбиране

Използване на MONGO_URL променлива на средата можете да зададете низа за свързване на MongoDB при стартиране на сървъра Meteor. Вместо базата данни на локалния порт 3001 или неавтентифицирана връзка, можете да посочите точно къде и как да се свържете. Стартирайте вашия Meteor сървър по следния начин:

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

Можете също така да пропуснете user:[email protected] част от командата, ако не е необходимо удостоверяване.

Сценарий C:Свързване към втора (3-та и т.н.) база данни от същото приложение Meteor

Сега трябва да използваме MongoInternals.RemoteCollectionDriver . Ако искате да използвате друга база данни, която не е базата данни по подразбиране, дефинирана при стартиране на сървъра Meteor, трябва да използвате вашия подход.

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

Бонус:Защо не трябва да използвате MongoInternals с Mongo.Collection ?

Както посочват документите не трябва да предавате връзка на Mongo към new Mongo.Collection() команда, а само връзка с друг екземпляр на Meteor. Това означава, че ако използвате DDP.connect за да се свържете с различен сървър, можете да използвате вашия код - но не трябва да смесвате MongoInternals с Mongo.Collection - те не работят добре заедно.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Минимално разрешение за използване на mongodump (за изхвърляне на конкретна база данни)

  2. Как да върна JSON данни от php MongoCursor

  3. Изтриване на вложени полета от всички/множество документи в колекция - NodeJS + MongoDB

  4. Съхраняване на заявка в Mongo

  5. MongoDB - Какво ще кажете за десетичен тип стойност?