sql >> Databáze >  >> NoSQL >> MongoDB

Použití více databází Mongodb s Meteor.js

Aktualizovat

Nyní je možné se připojit ke vzdáleným/vícenásobným databázím:

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

Kde <mongo_url> je adresa URL mongodb, například mongodb://127.0.0.1:27017/meteor (s názvem databáze)

V tuto chvíli to má jednu nevýhodu:Žádný Oplog

Stará odpověď

V tuto chvíli to není možné. Každá aplikace meteoru je vázána na jednu databázi.

Existuje několik způsobů, jak to obejít, ale může to být složitější, než to stojí za to:

Jedna možnost – použijte samostatnou aplikaci Meteor

Ve vaší druhé meteorové aplikaci (příklad běžící na portu 6000 na stejném počítači). Stále můžete mít reaktivitu, ale musíte proxy vkládat, odebírat a aktualizovat prostřednictvím volání metody

Server:

Cats = Meteor.Collection('cats')

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

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

Vaše aktuální aplikace 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);

Další možnost – vlastní připojení mongodb

Toto používá nativní ovladač node js mongodb.

Toto je připojení k databázi, jako byste to dělali v jakékoli jiné aplikaci node js.

Neexistuje ne je k dispozici reaktivita a nemůžete použít new Meteor.Collection typ sbírky.

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. vytvoření registračního a přihlašovacího formuláře v node.js a mongodb

  2. Index v MongoDB

  3. MongoDB - Odstranit dokument

  4. Představujeme vyhledávací grafy v MongoDB