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

Използване на множество бази данни Mongodb с Meteor.js

Актуализиране

Вече е възможно да се свържете с отдалечени/множество бази данни:

var database = new MongoInternals.RemoteCollectionDriver("<mongo url>");
MyCollection = new Mongo.Collection("collection_name", { _driver: database });

Където <mongo_url> е URL на mongodb като mongodb://127.0.0.1:27017/meteor (с името на базата данни)

В момента има един недостатък:няма Oplog

Стар отговор

В момента това не е възможно. Всяко приложение за метеорит е свързано с една база данни.

Има няколко начина, по които можете да заобиколите това, но може да е по-сложно, отколкото си струва:

Една опция - Използвайте отделно приложение Meteor

В другото ви приложение за метеор (пример, работещ на порт 6000 на същата машина). Все още можете да имате реактивност, но трябва да прокси вмъквате, премахвате и актуализирате чрез извикване на метод

Сървър:

Cats = Meteor.Collection('cats')

Meteor.publish("cats", function() {
    return Cats.find();
});

Meteor.methods('updateCat, function(id, changes) {
    Cats.update({_id: id}, {$set:changes});
});

Вашето текущо приложение Meteor:

var connection = DDP.connect("http://localhost:6000");

connection.subscribe("cats");
Cats = Meteor.Collection('cats', {connection: connection});

//To update a collection
Cats.call("updateCat", <cat_id>, <changes);

Друга опция - персонализирана връзка с mongodb

Това използва родния драйвер на node js mongodb.

Това е свързване към базата данни, както ако бихте направили във всяко друго приложение на node js.

Имане налична реактивност и не можете да използвате new Meteor.Collection тип колекции.

var mongodb = Npm.require("mongodb"); //or var mongodb = Meteor.require("mongodb") //if you use npm package on atmosphere

var db = mongodb.Db;
var mongoclient = mongodb.MongoClient;
var Server = mongodb.Server;

var db_connection = new Db('cats', new Server("127.0.0.1", 27017, {auto_reconnect: false, poolSize: 4}), {w:0, native_parser: false});

db.open(function(err, db) {
    //Connected to db 'cats'

    db.authenticate('<db username>', '<db password>', function(err, result) {
      //Can do queries here
      db.close();
   });
});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Статистики за база данни и колекция MongoDB

  2. Как да използвате SQL LIKE изявление в MongoDB

  3. Mongoose изберете полета, за да се върнете от findOneAndUpdate

  4. MongoDB C# Driver 2.0 – Актуализирайте документ

  5. Как да използвате променливи във функцията за намаляване на картата на MongoDB