2015-02-17 1 views
0

Ниже мой предмет того, что я пытаюсь сохранить -Как сохранить ребенок схему в MongoDB используя мангуст

{ 
    shipper: 
    { firstName: 'Test ShipName', 
     address1: '10 Florida Ave', 
     phone1: '800-123-4567' }, 
    consignee: 
    { firstName: 'AAA Manufacturing', 
     address1: '100 Main Street' }, 
    items: 
    [ 
     { length1: 45, weight1: 12, height1: 45, width1: 34 }, 
     { length2: 42, weight2: 34, height2: 90, width2: 54 } 
    ] 
} 

На этом -

 Order(order).save(function(err, result){ 
      if(err) 
       throw err; 
      console.log(result); 
     }); 

грузоотправителя, грузополучатель спасает соответствующие значения, но в базе данных (MongoDB), пункты не экономить должным образом -

"items" : [ 
    { 
     "_id" : ObjectId("54e36e18c59700b513a5309d") 
    }, 
    { 
     "_id" : ObjectId("54e36e18c59700b513a5309c") 
    } 
], 

Ниже мой oderSchema -

var orderSchema = mongoose.Schema ({ 
    shipper: {type: addressSchema, 'Default':''}},  
    consignee: {type: addressSchema, 'Default':''} }, 
    items: {type: [itemSchema], 'Default':''} }, 
}); 

Ниже мой itemSchema -

var itemSchema = mongoose.Schema({ 
    length: {type: Number, required: false }, 
    width: {type: Number, required: false }, 
    height: {type: Number, required: false }, 
    weight: {type: Number, required: false }, 
}); 

Позвольте мне знать, что я делаю неправильно в сохранении товара.

+1

Невозможно воспроизвести. Немногие очевидные вещи: 1. У вас есть синтаксические ошибки (слишком много закрывающих скобок) в определении 'orderSchema'. 2. после исправления этого я получил: 'TypeError: Undefined type at 'shipper' Вы пытались вложить схемы? Вы можете только гнездо использовать refs или массивы .'. Какую версию Mongoose вы используете? Не могли бы вы предоставить весь код? –

ответ

1

В вашей статье свойств свойства «длина», «ширина» и т. Д., Однако свойства данных, которые вы сохраняете, содержат числа в конце «длина1», «длина2» и т. Д. Вам нужно удалить эти номера.

Смежные вопросы