如何让node.js使用mongoose连接到mongolab

我一直在尝试使用mongoose(node.js和mongodb模块)。 并试图得到与蒙古的连接起来和运行。 我尝试了我的app.js文件的顶部以下,但我似乎无法进入db.on函数。

global.mongoose = require('mongoose'); var uri = 'mongodb://username:password#####@ds.mongolab.com:#####/db'; global.db = mongoose.createConnection(uri); global.Schema = mongoose.Schema; db.on('error', console.error.bind(console, 'connection error:')); db.once('open', function (callback) { console.log("db up") var userSchema = new Schema({ name : { type: String, default: '' } , password : { type: String, default: '' } }); var userModel = mongoose.model('User', userSchema); var test = new userModel({name: "test", password: "test"}) console.log("me: " + test) test.save(function (err, test) { console.log("saved?") if (err) { console.log("error"); return console.error(err); } console.log("saved!") }); console.log("after save"); }); 

我的terminal输出是

 /usr/local/bin/node bin/www me: { _id: 557f93a8a8b4b8628095bd01, password: 'test', name: 'test' } after save 

debugging器似乎也跳过了这个function(我在WebStorm上的debugging技巧是有限的)

这也没有更直接的方式工作:

 mongoose = require('mongoose'); var uri = 'mongodb://username:password.mongolab.com:#####/db'; db = mongoose.createConnection(uri); Schema = mongoose.Schema; var userSchema = new Schema({ name : { type: String, default: '' } , password : { type: String, default: '' } }); var userModel = mongoose.model('User', userSchema); var test = new userModel({name: "test", password: "test"}) console.log("me: " + test) test.save(function (err, test) { console.log("saved?") if (err) { console.log("error"); return console.error(err); } console.log("saved!") }); console.log("after save"); 

这给了我相同的terminal输出。

我想知道我需要采取什么步骤才能真正开始与我的MongoDB数据库交谈。 另外我也没有看到任何蒙古包上创build的集合。

尝试使用

 db = mongoose.connect(uri); 

代替

 db = mongoose.createConnection(uri);