2012-08-04 65 views
0

我有一個示例node.js項目與2個文件,我想將後對象存儲到我的數據庫。 這裏是我的架構(在./schema/post.js)Node.js + Mongoose:模型/架構分隔數據庫邏輯

var mongoose = require('mongoose'), 
    Schema = mongoose.Schema; 

module.exports = function() { 
    var Post = new Schema({ 
     title: String, 
     body: String, 
     date: Date 
    }); 
    mongoose.model('Post', Post); 
}; 

第二個文件是數據庫邏輯(連接,保存新的後處理目標和斷開)

var mongoose = require('mongoose'), 
    Post = require('./schema/post.js'); 

mongoose.connect('mongodb://Thomas-PC/test'); 

var post = new Post(); 
post.title = 'asdfafsd'; 
post.body = 'asdfasdf'; 
post.date = Date.now(); 

post.save(function (err) { 
    if (err) { throw err; } 
    console.log('saved'); 
    mongoose.disconnect(); 
}); 

這不起作用。 我的問題是:如何在分離的文件中創建模型對象的新實例?

回答

2

這是行不通的。你可以把它的工作是這樣的:

module.exports = function() { 
var Post = new Schema({ 
    title: String, 
    body: String, 
    date: Date 
}); 
return mongoose.model('Post', Post); 
} 

和:

Post = require('./schema/post.js')()