अपडेट करें
अब दूरस्थ/एकाधिक डेटाबेस से जुड़ना संभव है:
var database = new MongoInternals.RemoteCollectionDriver("<mongo url>");
MyCollection = new Mongo.Collection("collection_name", { _driver: database });
जहां <mongo_url>
एक mongodb url है जैसे mongodb://127.0.0.1:27017/meteor
(डेटाबेस नाम के साथ)
इस समय इसके साथ एक नुकसान है:कोई Oplog नहीं
पुराना उत्तर
फिलहाल ऐसा संभव नहीं है। प्रत्येक उल्का ऐप एक डेटाबेस के लिए बाध्य है।
आप इससे निजात पाने के कुछ तरीके हैं लेकिन यह अधिक जटिल हो सकता है कि इसका मूल्य:
एक विकल्प - एक अलग उल्का ऐप का उपयोग करें
आपके अन्य उल्का ऐप में (उदाहरण के लिए उसी मशीन पर पोर्ट 6000 पर चल रहा है)। आपके पास अभी भी प्रतिक्रियाशीलता हो सकती है लेकिन आपको एक विधि कॉल के माध्यम से सम्मिलित करने, हटाने और अपडेट करने की आवश्यकता है
सर्वर:
Cats = Meteor.Collection('cats')
Meteor.publish("cats", function() {
return Cats.find();
});
Meteor.methods('updateCat, function(id, changes) {
Cats.update({_id: id}, {$set:changes});
});
आपका वर्तमान उल्का ऐप:
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);
एक अन्य विकल्प - कस्टम मोंगोडब कनेक्शन
यह नोड जेएस मोंगोडब नेटिव ड्राइवर का उपयोग करता है।
यह डेटाबेस से जुड़ रहा है जैसे कि आप किसी अन्य नोड जेएस ऐप में करेंगे।
नहीं है प्रतिक्रियाशीलता उपलब्ध है और आप 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();
});
});