OrderSchema
var OrderSchema = new Schema({
OrderDate : {type: Date, default: Date.now()},
userid : {type : Number, ref:'User', default: '0'},
totalPrice : {type : Number, default: '0'},
totalQuantity : {type : Number, default: '0'},
status : {type : Boolean, default: 'false'},
items : [{
_id : {type: Schema.Types.ObjectId, ref:'Product'},
quantity : {type : Number, default: '0'}
}]
})
通过POSTMAN进行POST,console.log(req.body)表单Nodejs Server返回
{ totalPrice : '755',
totalQuantity: '12',
userid: '3423324242',
address: 'dsadsd',
items: '{'_id':'5528cfd2e70144e020cb6495', 'quantity':'1' },{'_id':'5528cfd2e70144e012ab6495','quantity':'5' },{'_id':'5528cfd2e70144e020bd6495', 'quantity':'435' },{'_id':'5528cfd2e12144e012ab6495','quantity':'3' }' }
首先,我无法访问项目中的任何对象,例如item [0]因为它只是返回' {'也许是因为它将它视为一个char数组。 其次我要做的是创建一个新的Order实例并进行一些循环,以便将所有item对象推送到OrderSchema的items数组中。 到目前为止,只有成功我才能在项目数组中保存数据,我将其作为_id和数量单独发送并将其推送为
order.items.push({
'_id' : req.body._id,
'quantity' : req.body.quantity })
但是使用上面的方法我不能将多个项目对象推入数组,因为这些项目是从购物车发送的对象。 所以基本上我们想创建一个新订单,然后将所有这些项目推送到items数组