繁体   English   中英

无法使用ref猫鼬保存文档

[英]not able to save document with ref mongoose

我无法保存我的插入内容

我的模型:动作和Type_intervention

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

 var actionSchema = new Schema({
    action: {
       type: String,
       required: true,
       unique: true
    },
 }); //Exporter le model


 module.exports = mongoose.model('Action', actionSchema);

 /*-----------------------------------------*/

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

var type_interventionSchema = new Schema({
   type_name_intervention : {type : String},
   libelle : {type : String},
   Standart : {type : String},
   libelle_crt : {type : String},
   action : {type: Schema.ObjectId, ref: 'Action'},
 });


//Exporter le model
module.exports = mongoose.model('Type_intervention',type_interventionSchema);
 /*--------------------------------------*/

我的控制器:

var new_type_intervention = new Type_intervention({
     type_name_intervention: req.body.type_name_intervention,
     libelle: req.body.libelle,
     Standart: req.body.Standart,
     libelle_crt: req.body.libelle_crt,
     action: req.body.action,
  })
new_type_intervention.save((err, newinter) => {
    if (err) {
        return res.send({
            message: 'Error when try to save',
            'intervention': new_type_intervention,
            'req.action': req.body.action,
            'new_type_intervention_action': new_type_intervention.action
        });
    }
    return res.send({
        message: 'Add with succes',
        'intervention': new_type_intervention
    })
})

POSTMAN RUN:捕获了错误(未出现new_intervention.action,并且类型未定义!!)我认为这是一个问题

  { "type_name_intervention":"f",
    "libelle":"f",
    "Standart":"f",
    "libelle_crt":"f",
    "action":"test"}

   //Results:
   {
     "message": "Error when try to save",
      "intervention": {
      "type_name_intervention": "f",
      "libelle": "f",
      "Standart": "f",
      "libelle_crt": "f",
      "_id": "591eb2ccd4325d0e40b2d038"
    },

    "req.body.action": "test",
    "type of new_type_intervention_action": "undefined"
    }

我找到了解决方案:

保存之前:我尝试找到action_id

Action.findOne({
                 'action': req.body.action,
             })
             .exec(function (err, found_action) {
                 if (found_action) {

new_type_intervention.action=found_action._id; // This is GOOD practice
new_type_intervention.save();
                     return res.send({
                         'type': typeof req.body.action,
                         message: 'type intervention ajoutee avec succes '
                     })
                 }

             })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM