2017-02-23 23 views
0

請幫助我在這裏我想創建一個報告,其中將包括車輛,但是,我的結果如期而至。MongooseJS後期參考創作

拳頭文件低於

var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 
var reportSchema = new Schema({ 

    reportDate : { type: Date, default: Date.now}, 
    description: { type: String, required: true}, 
    address: String, 
    vehicule : [{type: String, ref: 'Vehicule'}], 
    user : [{type: String, ref: 'User'}] 


}) 

var Vehicule = mongoose.model('Report', ReportSchema); 

module.exports = Report; 

報表的第二模式如下,但是當我創建了一個報告,它不包括報表內驅動車輛ID。車輛即將回歸爲空陣列。任何幫助將非常感激

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


var VehiculeSchema = new Schema({ 

    make: String, 
    model: String, 
    color:String, 
    year: String, 
    vin: {type: String, required:true, unique:true}, 
    imagePath: String, 

    user : [{type: Schema.ObjectId, ref: 'User'}] 




    }, 



     { timestamps: true 

}); 

var Vehicule = mongoose.model('Vehicule', VehiculeSchema); 

module.exports = Vehicule; 

下面是我用的創建報告

var Vehicule = require('../models/vehicule'); 
var Report = require('../models/report'); 
var User = require('../models/user'); 


exports.newReport = function(req, res, next){ 



    req.body.user = req.user; 
    req.body.vehicule = req.vehicule; 



    var report = new Report({description :req.body.description, address:  req.body.address, user: req.user, vehicule: req.vehicule}); 


    report.save(function(err, data){ 

     if(err){ 

      return next(err); 

      res.json({message: "cannot add this report"}); 

     }else { 

      res.json({message: "report added", data: report}) 
      console.log(JSON.stringify((data))) 
     } 
    }); 



} 

下面的方法是我找回的結果,我不知道我缺少什麼,以及爲什麼它是不工作。 { 「消息」: 「報告加上」, 「數據」:{ 「__v」:0, 「描述」: 「這是錯誤另一個」 「地址」: 「Quatier VILL」, 「_id 「: 」58af4e857ae6770a7d68d85a「, 」用戶「:[ 」{_id:58a7315e0a9f6474a88766fa,作用: '創建者'}「 ], 」驅動車輛「:[], 」reportDate「:」 2017-02-23T21:05 :09.384Z」 }} 下面

回答

0

是解決方案,我想出了,它正在

var Vehicule = require('../models/vehicule'); 
    var Report = require('../models/report'); 
    var User = require('../models/user'); 


    exports.newReport = function(req, res){ 

    req.body.user = req.user; 
    // req.body.vehicule = req.vehicule; 
    var vehic = new Vehicule(req.body); 



    var report = new Report({description:req.body.description, address:  req.body.address, vehicule: vehic._id, user: req.user }); 

    report.save(function(err){ 

     if(err){ 

      return 
      res.json({message: "cannot add this report"}); 
      res.send(err); 
     }else { 
      return 
      res.json({message: "report added", data: report}) 

     } 
    }); 


}