2015-06-16 20 views
7

Tôi đã cố gắng sử dụng mongoose (mô-đun cho node.js và mongodb). Và cố gắng để có được một kết nối với mongolab và chạy. Tôi đã thử những điều sau ở đầu tệp app.js của mình, nhưng dường như tôi không thể nhập hàm db.on.Cách lấy node.js để kết nối với mongolab bằng cách sử dụng mongoose

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"); 

}); 

đầu ra thiết bị đầu cuối của tôi là

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

Các debugger cũng dường như bỏ qua chức năng (kỹ năng gỡ lỗi của tôi trên WebStorm được giới hạn mặc dù)

này cũng không làm việc trong một đơn giản hơn cách thức:

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"); 

Điều này đã cho tôi kết quả đầu cuối tương tự.

Tôi muốn biết những bước cần thực hiện để bắt đầu nói chuyện với cơ sở dữ liệu mongolab của mình. Ngoài ra tôi không thấy bất kỳ bộ sưu tập nào được tạo trên mongolab.

Trả lời

8

Hãy thử sử dụng

db = mongoose.connect(uri); 

thay vì

db = mongoose.createConnection(uri); 
+1

chúng tôi đã nhận một người chiến thắng! – Bren

Các vấn đề liên quan