【问题标题】:How to create an Object in MongoDB如何在 MongoDB 中创建对象
【发布时间】:2016-05-02 03:28:57
【问题描述】:

我是 MongoDB 的新手,正在尝试理解它。我需要为我定义的以下模式创建对象。为澄清起见,此语句是否在 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);

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-06
      • 2021-09-14
      • 1970-01-01
      • 2018-07-24
      • 2021-12-25
      • 1970-01-01
      • 2017-10-12
      • 2011-05-13
      相关资源
      最近更新 更多