抛出新的MongooseError.MissingSchemaError(name); MissingSchemaError:尚未为模型“usermodel”注册架构

时间:2016-07-17 06:43:11

标签: node.js mongodb mongoose mongoose-populate

我收到错误“抛出新的MongooseError.MissingSchemaError(名称); MissingSchemaError:尚未为模型”usersmodel“注册架构。”

这里是userregistration.js

var mongoose=require("mongoose");
var Schema=mongoose.Schema;

var users= new Schema({
    firstname:String,
    secondname:String,
    apartmentname:String,
    block:String,
    floor:String,
    flotnumber:String,
    residencytype:String,
    ownername: { type: String, default:"" },
    password:{type:String,default:"password"},
    email:String,
    contact:{type:Number,default:0},
    address:String,
    role:{type:String,default:"user"},
    approvalstatus:{type:String,default:false}

});

module.exports=mongoose.model("users",users);

Maintaincemodel.js

var mongoose=require('mongoose');
var Schema=mongoose.Schema;

var MaintenanceSchema= new Schema({
    name: [{ type: Schema.ObjectId, ref: 'usersmodel' }],
    Flat:{type:String},
    Squareft:{type:String},
    Month:{type:Number},
    Year:{type:Number},
    Amount:{type:Number},
    Paid:{type:String},
    Date:{type:Date,default:Date.now}
});

module.exports=mongoose.model('Maintenance',MaintenanceSchema);

Server.js

var mongoose = require('mongoose');
var Schema=mongoose.Schema;

var maintenancemodel=require('./public/models/maintenance.js');
var usersmodel=require('./public/models/userregistration.js');

app.get("/maintenance",function(req,res){

  maintenancemodel.find({})
  .populate('name')
  .exec(function(err,maintenances){
    if(err) console.log("error occures");
    else{
      console.log("the person name is",maintenances.name[0].firstname);
      res.json(maintenances);
    }
  })

});

我已成功将数据保存到数据库中但在我尝试填充数据时收到错误。

我已经完成了同样问题的多个答案,但我找不到任何正确的解决方案。

1 个答案:

答案 0 :(得分:2)

在MaintenanceSchema中更改名称:[{ type: Schema.ObjectId, ref: 'usersmodel' }],以命名:[{ type: Schema.ObjectId, ref: 'users' }],