Mongoose - 在Node.js服务器重启后无法创建数据库

时间:2018-04-19 07:02:43

标签: node.js mongodb mongoose

我正在维护一个Node.js-MongoDb应用程序。我不是代码的作者,现在试图理解它。我的问题就是这样,

我的代码使用Mongoose进行数据库操作。应用程序路径中有一个模型文件夹。在这个文件夹中有所有需要的目标文件。例如feedback.js,user.js等.Reditions.js的示例内容就像;

var Repository = require('./base/Repository');
var Connection = require('./base/Connection');

var scm = Repository.schema({
    userId : String,
    text: String,
    date: Number
});

scm.index({date:1});
scm.index({userId:1});

var repo = Repository.create('Feedback', scm, Connection);

module.exports = new repo();

基础文件夹

下的Connection.js文件的示例内容
var mongoose = require('mongoose');
var db = mongoose.createConnection('mongodb://localhost:27017/MyDb');

var getDb = function () {
    return db;
};

module.exports = {
    'getDb' : getDb
};

现在,当我启动节点应用程序时,如果它们不存在,它会自动创建数据库。在此之前没有问题。

当我尝试创建新数据库时,问题就出现了。我试图创建一个新数据库。所以我创建了一个类似于给定示例的Connection文件。然后我在模型文件夹下创建了一个目标文件,就像在示例中一样。但是,当我重新启动节点应用程序(pm2 restart ....)时,我的数据库没有创建。

是否有文件显示Mongoose“创建此数据库”。我无法在应用程序文件夹中提交任何配置文件。我的问题是什么?

谢谢

1 个答案:

答案 0 :(得分:0)

在代码中的某处需要创建的模型解决了我的问题。

var xxx=require(model/mymodel)

我认为Mongoose正在创建唯一需要的模型