启动服务器后,我无法在 mongodb 中创建数据库“sms-dev”,但在我的控制台中,它打印出已成功连接到 mongo。我将 db 模块保留在 models 文件夹中,作为 db.js 并将该模块导出到另一个文件中(config.js) 位于模型文件夹内
这是 db.js 文件中的代码
var db = {
// Connects to mongoDB
connect: function(url, options) {
mongoose.connect(url, options);
mongoose.connection.on('open', function(){
console.log("Connected to mongo successfully");
});
mongoose.connection.on('disconnect', function(){
console.log("Mongo disconnected");
});
mongoose.connection.on('error',function (err) {
console.log('Mongoose default connection error: ' + err);
});
process.on('SIGINT', function() {
mongoose.connection.close(function () {
console.log('Mongoose default connection disconnected through app termination');
process.exit(0);
});
});
}
}
module.exports = db;
我的 config.js 文件是
exports.database = {
url: 'mongodb://127.0.0.1:27017/sms-dev',
options: {
db: { native_parser: true,safe:true },
server: { poolSize: 10 }
}
}
我在 server.js 中将此数据库连接为
var dbcon = process.env.MONGOLAB_URI || config.database.url;
db.connect(dbcon, config.database.options);
最佳答案
这一行:
As soon as you create a record with that connection
从此answer .
为我做的。就我而言,我必须手动:
- 创建数据库
- 创建收藏
- 在集合中创建一条记录
然后一切又恢复正常了。
关于node.js - Mongodb未创建数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35197560/