我正在维护一个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“创建此数据库”。我无法在应用程序文件夹中提交任何配置文件。我的问题是什么?
谢谢
答案 0 :(得分:0)
在代码中的某处需要创建的模型解决了我的问题。
var xxx=require(model/mymodel)
我认为Mongoose正在创建唯一需要的模型