2012-08-04 98 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')()