MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Korzystanie z wielu baz danych Mongodb z Meteor.js

Aktualizacja

Teraz można połączyć się ze zdalnymi/wieloma bazami danych:

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

Gdzie <mongo_url> jest adresem URL mongodb, takim jak mongodb://127.0.0.1:27017/meteor (z nazwą bazy danych)

W tej chwili jest jedna wada:brak Oploga

Stara odpowiedź

W tej chwili nie jest to możliwe. Każda aplikacja meteor jest powiązana z jedną bazą danych.

Istnieje kilka sposobów na obejście tego problemu, ale może to być bardziej skomplikowane niż jest to warte:

Jedna opcja – użyj oddzielnej aplikacji Meteor

W innej aplikacji meteor (przykład uruchomiony na porcie 6000 na tej samej maszynie). Nadal możesz mieć reaktywność, ale musisz proxy wstawiać, usuwać i aktualizować za pomocą wywołania metody

Serwer:

Cats = Meteor.Collection('cats')

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

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

Twoja obecna aplikacja 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);

Inna opcja - niestandardowe połączenie mongodb

Używa natywnego sterownika node js mongodb.

To łączy się z bazą danych tak, jakbyś to robił w dowolnej innej aplikacji node js.

Nie ma nie dostępna reaktywność i nie możesz użyć new Meteor.Collection wpisz kolekcje.

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 Znajdź dokładne dopasowanie tablicy, ale kolejność nie ma znaczenia

  2. Najlepsze oprogramowanie pośredniczące do przechowywania sesji dla Express + MongoDB

  3. $cmp . MongoDB

  4. Ostrzeżenie o wycofaniu:collection.findAndModify jest przestarzałe. Zamiast tego użyć findOneAndUpdate, findOneAndReplace lub findOneAndDelete?

  5. Jak ustawić useMongoClient (Mongoose 4.11.0)?