Javascript Mongoose/MongoDB基于架构创建集合(如果不存在)

Javascript Mongoose/MongoDB基于架构创建集合(如果不存在),javascript,node.js,mongodb,mongoose,mongoose-schema,Javascript,Node.js,Mongodb,Mongoose,Mongoose Schema,如果集合不存在,我想创建一个集合,并用Mongoose模式中的预设默认值填充它 其思想是在第一次运行时创建并填充数据库,如果数据库已经存在,则不执行任何操作 我有一个可行的解决方案,但我想知道是否有更好的方法,以下是我的解决方案: settings.js (Schema) var mongoose = require('mongoose'); // define the schema for our account data var settingsSchema = mongoose.Sch

如果集合不存在,我想创建一个集合,并用Mongoose模式中的预设默认值填充它

其思想是在第一次运行时创建并填充数据库,如果数据库已经存在,则不执行任何操作

我有一个可行的解决方案,但我想知道是否有更好的方法,以下是我的解决方案:

settings.js (Schema)

var mongoose = require('mongoose');

// define the schema for our account data
var settingsSchema = mongoose.Schema({
  cmdPrefix : {type:String, default: '!'},
  fontColor: {type: String, default:'<font color=\'#89D2E8\'>'},
  loggedOn: {type:Date, default:Date.now}


},{timestamps : true});

// methods ======================


// create the model and expose it to our app
module.exports = mongoose.model('Settings', settingsSchema);



start.js(Start File)

const Settings = require('./config/models/settings.js');

...

mongoose.connect('mongodb://localhost/testdb'); // connect to our database

settingsExists();

...

function settingsExists() {
  Settings.find({},function(err, result) {
    if (result.length > 0) {
      console.log('found ' + result);
    } else {
      console.log('not found, creating');
      let newSettings = new Settings({});
      newSettings.save();
    }
  });
}
settings.js(模式)
var mongoose=require('mongoose');
//为我们的帐户数据定义架构
var settingsSchema=mongoose.Schema({
cmdPrefix:{type:String,默认值:'!'},
fontColor:{类型:字符串,默认值:''},
loggedOn:{type:Date,默认值:Date.now}
},{时间戳:true});
//方法======================
//创建模型并将其公开给我们的应用程序
module.exports=mongoose.model('Settings',settingsSchema);
js(启动文件)
const Settings=require('./config/models/Settings.js');
...
猫鼬mongodb://localhost/testdb'); // 连接到我们的数据库
设置性别歧视();
...
函数设置性别歧视(){
Settings.find({},函数(err,result){
如果(result.length>0){
console.log('found'+结果);
}否则{
log('notfound,creating');
让newSettings=新设置({});
newSettings.save();
}
});
}
伙计,你喜欢这样吗

if (!mongoose.models.Settings) {
           mongoose.model('Settings', settingsSchema);
    }

module.exports = moongose;