Connectting to multiple databses

I tried using MongoInternals to connect to a collection in a second database. Connecting as such, in a server folder:

const database = new MongoInternals.RemoteCollectionDriver("mongodb://dburl/dbname")
const External = new Mongo.Collection("users", {_driver: database})

But I get this error:

/home/user/.meteor/packages/meteor-tool/.1.3.4_1.az7av4++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:313
						throw(ex);
						      ^
Error: connection closed
    at Object.Future.wait (/home/user/.meteor/packages/meteor-tool/.1.3.4_1.az7av4++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:449:15)
    at new MongoConnection (packages/mongo/mongo_driver.js:213:27)
    at new MongoInternals.RemoteCollectionDriver (packages/mongo/remote_collection_driver.js:4:16)
    at Object.module.exports (webpack:///:29:1)
    at __webpack_require__ (webpack:/webpack/bootstrap bc937d9a058284e4b6df:22:1)
    at Object.module.exports (webpack:///imports/startup/server/publications/actionStrategies.js:11:1)
    at __webpack_require__ (webpack:/webpack/bootstrap bc937d9a058284e4b6df:22:1)
    at Object.defineProperty.value (webpack:///imports/startup/server/publications/index.js:2:1)
    at __webpack_require__ (webpack:/webpack/bootstrap bc937d9a058284e4b6df:22:1)
    at Object.defineProperty.value (webpack:///server/main.js:2:1)
    - - - - -
    at [object Object].<anonymous> (/home/user/.meteor/packages/npm-mongo/.1.4.44_1.1iajgnd++os+web.browser+web.cordova/npm/node_modules/mongodb/lib/mongodb/connection/server.js:608:24)
    at [object Object].emit (events.js:92:17)
    at [object Object].<anonymous> (/home/user/.meteor/packages/npm-mongo/.1.4.44_1.1iajgnd++os+web.browser+web.cordova/npm/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:171:15)
    at [object Object].emit (events.js:98:17)
    at Socket.<anonymous> (/home/user/.meteor/packages/npm-mongo/.1.4.44_1.1iajgnd++os+web.browser+web.cordova/npm/node_modules/mongodb/lib/mongodb/connection/connection.js:550:12)
    at Socket.emit (events.js:95:17)
    at TCP.close (net.js:466:12)
Exited with code: 8
Your application is crashing. Waiting for file change.

How can I connect to a secondary database within my meteor app?

This works for me:

if(Meteor.isServer){
	var shared = new MongoInternals.RemoteCollectionDriver("mongodb://127.0.0.1:27017/shared");
}
Dictionary = new Mongo.Collection('dictionary', {_driver:shared});

Using a default mongo install.

2 Likes