Confusion between mongoose.connection() and mongoose.createConnection()
mongoose, node.js
Solution
If you don't call `mongoose.connect()` then `mongoose.connection` doesn't contain an an open connection. You should be using the return value from your `mongo.createConnection()` call instead (that you've saved into `db`).
So the last section of code should change to:
UPDATED
db.db.collectionNames(function (error, names) {
if (error) {
console.log('Error: '+ error);
} else {
console.log(names);
};
});
I don't see a `collectionNames` method on `Connection`; looks like you have to follow properties down into the native connection object to access that (see above code).
Problem
I've been studying mongoose for three days and I'm a bit confused about the use of these two methods (i know that "mongoose.connection()" will be deprecated in the future...) The problem is: when I'm trying to convert (from "mongoose.connection()" to "mongoose.createConnection()") the action.js file of this example https://gist.github.com/2785463 it seems to not work for me... there's my code... ``` var mongoose = require('mongoose'), db = mongoose.createConnection('localhost', 'test'); db.on('error', function () { console.log('Error! Database connection failed.'); }); db.once('open', function (argument) { console.log('Database connection established!'); mongoose.connection.db.collectionNames(function (error, names) { if (error) { console.log('Error: '+ error); } else { console.log(names); }; }); }); ``` and there's my terminal output (typing "node test.js" on my ubuntu terminal..) ``` Database connection established! /home/_user_/Scrivania/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:437 throw err; ^ TypeError: Cannot call method 'collectionNames' of undefined at NativeConnection.<anonymous> (/home/_user_/Scrivania/test2.js:11:25) at NativeConnection.g (events.js:192:14) at NativeConnection.EventEmitter.emit (events.js:93:17) at open (/home/_user_/Scrivania/node_modules/mongoose/lib/connection.js:408:10) at NativeConnection.Connection.onOpen (/home/_user_/Scrivania/node_modules/mongoose/lib/connection.js:415:5) at Connection._open (/home/_user_/Scrivania/node_modules/mongoose/lib/connection.js:386:10) at NativeConnection.doOpen (/home/_user_/Scrivania/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js:47:5) at Db.open (/home/_user_/Scrivania/node_modules/mongoose/node_modules/mongodb/lib/mongodb/db.js:287:14) at Server.connect.connectCallback (/home/_user_/Scrivania/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:235:7) at g (events.js:192:14) ```