猫鼬实例未保存到数据库,未显示错误

时间:2019-07-24 07:25:56

标签: arrays node.js mongodb mongoose mongoose-schema

我正在尝试将模型保存到mongodb。尽管未显示任何错误,但该实例并未保存到db。正如您可以看到console的输出一样,该对象已正确填充。可能是问题所在?

Model
------
const mongoose = require('mongoose');
const config = require('../config/database');
const HospitalSchema = mongoose.Schema({
    name:{type:String,required:true},
    specialization:{type:String,required:true},
    location:{type:String,required:true},
    address:{type:String,required:true},
    pointOfContact:[{
        name:{type:String,required:true},
        phone:{type:String,required:true}
    }]
})
const Hospital = module.exports = mongoose.model('Hospital',HospitalSchema);
module.exports.addHospital = function(hospital,callback){
    console.log(hospital);
    hospital.save(callback);
}


controller
----------
router.post('/hospital/addHosp',(req,res)=>{
  console.log(req.body);
  let hospital = new Hospital({
    name:req.body.hosp.name,
    specialization:req.body.hosp.specialization,
    location:req.body.hosp.location,
    address:req.body.hosp.completeAddress,
    pointOfContact:req.body.hosp.pointOfContact,
});

Hospital.addHospital(hospital,(err,hosp)=>{
  (err)=>{console.log(err);res.json({success:false,msg:'failed to add hospital'})},
  (hosp)=>{res.json({success:true,msg:'successfully added hospital'})}
})

})

模型中addHosp函数中console.log的输出:

{ _id: 5d3806a53b0d4215ac6bac53,
  name: 'h',
  specialization: 's',
  location: 'l',
  pointOfContact:
   [ { _id: 5d3806a53b0d4215ac6bac54, name: 'n', phone: '99999' } ] }

1 个答案:

答案 0 :(得分:0)

像这样更新您的功能:

module.exports.addHospital = function(hospital,callback){
    var hosp = new Hospital(hospital)
    console.log(hosp);
    hosp.save(callback);
}