无法从Mongoose

时间:2015-04-25 10:31:33

标签: json node.js mongodb express mongoose

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数组

0 个答案:

没有答案