如何在nodejs中接受body中的参数数组

时间:2017-03-04 10:05:01

标签: node.js

我的订单如下:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var foodtruck = require('./foodtruck.js');
var payment = require('./payment.js');
var Items = require('./items.js');


var order = new Schema({
    order_status:Number,   //0 place 1 accepted 2 cooked 3 cancelled
    customer_id:{type: Schema.Types.ObjectId,ref: 'user'},
    items:[{type : Schema.Types.ObjectId, ref : 'items'}],
    user_type:Boolean,
    order_time:Date,
    order_rating:{type:Number,default:5.0},
    order_issue_comments:String,
    order_special_instruction:String,
    order_total:Number,
    order_location:String,
    order_coupon_code:String,
    payment_id:{type:Schema.Types.ObjectId,ref:'payment'}
},{ versionKey: false });


module.exports = mongoose.model('order',order);

items.js

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

var ItemSchema = new Schema({
    no_of_times_ordered:Number,
    item_name:String,
    item_tag:String,
    item_category:String,
    item_illustrations:[String],
    item_stock:Number,
    item_quantity_ordered:{type:Number,default:0},
    item_price:Number,
    item_img:String,
    no_of_likes:Number
},{ versionKey: false });

module.exports = mongoose.model('items',ItemSchema);

现在在我的项目参数中,我期待一个数组。我已经用一个项目实现了成功的订单创建。但在邮递员提出请求时我无法输入 item 数组。

以下行来自邮递员请求

customer_id:58b9aaca50fb632134fc78f5
order_special_instruction:please add onions
order_total:50.09
order_location:seattle
order_coupon_code:AERT78
payment_id:58b9aaca50fb632134fc79a7
item_id:58ba7ae503f5cc2bf48d6932
item_quantity:2

现在我如何在请求中包含多个 item_id item_quantity 。我在上面发布的参数在" x-www-form-urlencoded"中被接受。在邮递员。

1 个答案:

答案 0 :(得分:0)

根据评论中的讨论,我建议使用https://www.npmjs.com/package/body-parser等身体解析器,让您的生活更轻松。