我正在尝试使用Heroku和mongoLab插件创建一个Web应用程序。我按照Heroku网站上的说明操作,可以使用以下代码连接到我的mongoLab数据库。
var mongoose = require('mongoose');
var uriUtil = require('mongodb-uri');
var options = { server: { socketOptions: { keepAlive: 1, connectTimeoutMS: 30000 } },
replset: { socketOptions: { keepAlive: 1, connectTimeoutMS : 30000 } } };
var mongodbUri = process.env.MONGOLAB_URI;
var mongooseUri = uriUtil.formatMongoose(mongodbUri);
mongoose.connect(mongooseUri, options);
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
console.log("connection successful");
});
通常,在进行路由时,我会执行以下操作。
var Test;
var testSchema = new mongoose.Schema({
test: String,
});
Test = mongoose.model('Test', testSchema);
module.exports = {Test: Test};
然后我可以通过在http请求中执行简单的var Models = require(“./ models”)和Models.Test.find(回调)来轻松地在我的路径文件中引用我的Test模型。
问题:使用mongolab数据库添加此相同功能的最佳做法是什么?我可以创建模式并手动编写代码以在db.once中向我的数据库添加记录,但我希望能够通过单独的javaScript文件中的http请求执行所有基本CRUD命令。
非常感谢任何指导!