Mettre à jour
Il est désormais possible de se connecter à des bases de données distantes/multiples :
var database = new MongoInternals.RemoteCollectionDriver("<mongo url>");
MyCollection = new Mongo.Collection("collection_name", { _driver: database });
Où <mongo_url>
est une URL mongodb telle que mongodb://127.0.0.1:27017/meteor
(avec le nom de la base de données)
Il y a un inconvénient à cela pour le moment :Pas d'Oplog
Ancienne réponse
Pour le moment ce n'est pas possible. Chaque application météore est liée à une base de données.
Il existe plusieurs façons de contourner ce problème, mais cela peut être plus compliqué que cela en vaut la peine :
Une option - Utiliser une application Meteor distincte
Dans votre autre application météore (exemple exécuté sur le port 6000 sur la même machine). Vous pouvez toujours avoir de la réactivité, mais vous devez proxy insérer, supprimer et mettre à jour via un appel de méthode
Serveur :
Cats = Meteor.Collection('cats')
Meteor.publish("cats", function() {
return Cats.find();
});
Meteor.methods('updateCat, function(id, changes) {
Cats.update({_id: id}, {$set:changes});
});
Votre application Meteor actuelle :
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);
Une autre option - connexion mongodb personnalisée
Cela utilise le pilote natif node js mongodb.
Cela se connecte à la base de données comme si vous le feriez dans n'importe quelle autre application node js.
Il n'y a non réactivité disponible et vous ne pouvez pas utiliser la new Meteor.Collection
collections de types.
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();
});
});