如何让 node.js 使用 mongoose 连接到 mongolab
How to get node.js to connect to mongolab using mongoose
我一直在尝试使用 mongoose(node.js 和 mongodb 的模块)。并尝试与 mongolab 建立联系 运行。我在 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");
});
我的终端输出是
/usr/local/bin/node bin/www
me: { _id: 557f93a8a8b4b8628095bd01, password: 'test', name: 'test' }
after save
调试器似乎也跳过了这个功能(虽然我在WebStorm上的调试技术有限)
这也没有以更直接的方式工作:
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");
这给了我相同的终端输出。
我想知道我需要采取哪些步骤才能真正开始与我的 mongolab 数据库对话。我也没有看到在 mongolab 上创建任何集合。
尝试使用
db = mongoose.connect(uri);
而不是
db = mongoose.createConnection(uri);
我一直在尝试使用 mongoose(node.js 和 mongodb 的模块)。并尝试与 mongolab 建立联系 运行。我在 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");
});
我的终端输出是
/usr/local/bin/node bin/www
me: { _id: 557f93a8a8b4b8628095bd01, password: 'test', name: 'test' }
after save
调试器似乎也跳过了这个功能(虽然我在WebStorm上的调试技术有限)
这也没有以更直接的方式工作:
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");
这给了我相同的终端输出。
我想知道我需要采取哪些步骤才能真正开始与我的 mongolab 数据库对话。我也没有看到在 mongolab 上创建任何集合。
尝试使用
db = mongoose.connect(uri);
而不是
db = mongoose.createConnection(uri);