2016-04-11 2 views
0

Я пытаюсь получить значение вложенного массива из метода, который обновляет сгенерированную форму.Доступ к вложенному массиву в Autoform method-update

У меня есть схемы настроить, как это ...

Schema.ContactDetails = new SimpleSchema({ 
    orderedBy: { 
     type: String, 
     label: "Ordered By", 
     optional: true, 
    }, 
[...] 
)}; 

Orders.attachSchema(new SimpleSchema({ 
[...] 
orderDetails: { 
     type: Schema.OrderDetails, 
     optional: true, 
     blackbox: true 
    }, 
[...] 
)}; 

Я тогда иметь Автоформа установить с этим ...

{{#autoForm collection="Orders" id="updateOrderForm" type="method-update" meteormethod="updateOrder" doc=this}} 
[...] 
{{/autoForm}} 

И это UpdateOrder метод. ..

updateOrder: function (doc,doc_id) { 
    check(doc, Orders.simpleSchema()); 
    console.log(doc); 

    //Modify doc here 

    Orders.update({_id: doc_id}, doc); 
    }, 

Вышеуказанные console.log(doc); выдает результаты обязанный ...

{ '$set': 
    { createdBy: 'o5Wye6LLMGNXLn7HY', 
     createdAt: Sat Apr 09 2016 22:15:27 GMT+1000 (AEST), 
     'contactDetails.orderedBy': 'MvCun8p6vxndj3cr8', 
     updatedAt: Mon Apr 11 2016 11:47:31 GMT+1000 (AEST) }, 
    '$unset': 
    { […] 

Моя проблема заключается в том, что мне нужно, чтобы получить значение «contactDetails.orderedBy» в методе UpdateOrder, но я не могу показаться, чтобы получить доступ к нему. Я попытался следующие ...

var orderedBy = doc.$set.contactDetails.orderedBy;

Исключение при вызове метода TypeError 'UpdateOrder': Не удается прочитать свойство 'orderedBy' неопределенной

var orderedBy = doc.$set.'contactDetails.orderedBy';

Неожиданное маркера ошибки

Заранее благодарен

ответ

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