2017-02-18 3 views
0

私はまったく新しい人口ではありませんが、今は何が間違っているのか分かりません。マングース:utils.populate:無効なパス。期待される文字列。タイプが「未定義」

ここでは、ObjectIDのタイプであるdesignerIdを設定する必要があります。私のルートを見てください。

ordersAdminRouter.route('/customorder/add') 
    .post(function(req, res){ 
     body = req.body; 
     console.log(body); 
     CustomOrders.create(body, function(err, saved){ 
      if (err) throw err; 
      Designs.findByIdAndUpdate(saved.designId, {$set: {status: 'Order Sent'}}, {new: true}).exec() 
       .then(function(updated){ 
        return CustomOrders.findById(saved._id).populate(saved.designId).exec(); 
      }) 
      .then(function(orders){ 
       res.json(orders); 
      }) 
      .then(undefined, function(err){ 
       console.log(err); 
      }) 
     }); 
    }); 

saved._id私は移入を削除すると、それは当然の人口文書なしに私は必要な文書を返すために取り組んでいます。

は、ここに私のスキーマで

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

var customOrderSchema = new Schema({ 
    designId: { type: Schema.Types.ObjectId, ref: 'customDesigns' }, 
    size: { type: String }, 
    quantity: { type: Number }, 
    totalPrice: { type: Number }, 
    paymentMode: { type: String }, 
    rcpt_img: { type: String }, 
    refNumber: { type: String } 
}); 

module.exports = mongoose.model('customOrders', customOrderSchema); 

を見てください、私のcustomDesignsスキーマです。

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

var customDesignSchema = new Schema({ 
    item_name: { type: String }, 
    price: { type: Number, default: 0 }, 
    img_url_front: { type: String }, 
    img_url_back: { type: String }, 
    designer: { type: Schema.Types.ObjectId, ref: 'users' }, 
    color: { type: String }, 
    designDate: { type: Date, default: Date.now() }, 
    status: { type: String, default: 'For Qoutation' } 
}); 

module.exports = mongoose.model('customDesigns', customDesignSchema); 

私はマングース&急行の約束に新しいですし、これはそう私の最初の時間であることを認める必要があります。しかし、人口を使用して、私は考えることができる以上のものを使用します。助言がありますか?ところで

答えて

関連する問題