如何在MongoDB中创建一个Object

时间:2016-05-01 14:08:43

标签: node.js mongodb mongoose

我是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);

1 个答案:

答案 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
});