我是MongoDB的新手,正在尝试理解它。我需要为我定义的下面的Schema创建对象。为了澄清,此语句在OOP中创建了一个“类”,语句 var GroupTemplate = mongoose.model('GroupTemplate',GrouptemplateSchema); 和代码*** var GroupTemplate = mongoose.model('GroupTemplate',GrouptemplateSchema); ***为类创建一个对象?
我的问题是:当用户提交模板请求时,我需要实例化对象,以便用户可以使用它们。我试着在谷歌上查找但找不到多少。任何人都可以解释如何做到这一点?提前谢谢
var GrouptemplateSchema = new Schema({
templateId:{type:Number,required:true,unique:true},
maxValue:{type:Number,default:100},
minValue:{ type:Number, default:0},
responseTime:{type:Number},
type:{type:Number},
availableFrom:{type:Date,default:Date.now },
});
var Template = mongoose.model('Template',templateSchema);
var GroupTemplate = mongoose.model('GroupTemplate',GrouptemplateSchema);
答案 0 :(得分:0)
var GroupTemplate = mongoose.model(' GroupTemplate',GrouptemplateSchema); 表达式将mpngoose模型对象分配给 GroupTemplate 变量。您应该导出此变量作为模块,以便从其他文件中使用。喜欢:
module.exports = GroupTemplate ;
在model.js文件中说明你定义你的模型并导出
var GrouptemplateSchema = new Schema({
templateId:{type:Number,required:true,unique:true},
maxValue:{type:Number,default:100},
minValue:{ type:Number, default:0},
responseTime:{type:Number},
type:{type:Number},
availableFrom:{type:Date,default:Date.now },
});
var GroupTemplate = mongoose.model('GroupTemplate',GrouptemplateSchema);
module.exports = GroupTemplate ;
//or just registered as mongoose model instead of above 2 lines
//mongoose.model('GroupTemplate',GrouptemplateSchema);
并在您的controller.js文件中使用 require 获取导出模型并创建新对象
var mongoose = require('mongoose');
var GroupTemplate= require('GroupTemplate'); // get GroupTemplate model
// or if you register as mongoose model
// require('../model/model.js');
// var GroupTemplate = mongoose.model('GroupTemplate');
var newGroupTemplate = new GroupTemplate({ // create new object of GroupTemplate
templateId:1,
maxValue: 12,
// rest of code
});