2016-04-11 8 views
0

Ich versuche, den Wert eines verschachtelten Arrays von einer Methode zu erhalten, die ein automatisch generiertes Formular aktualisiert.Zugriff auf verschachteltes Array in AutoForm Methoden-Update

Ich habe ein Schema wie folgt aufgebaut ...

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

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

ich dann eine Autoform mit dieser Einrichtung haben ...

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

Und das ist die updateOrder Methode. ..

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

    //Modify doc here 

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

die oben console.log(doc); gibt den folg ... geschuldet

{ '$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': 
    { […] 

Mein Problem ist, dass ich den ‚contactDetails.orderedBy‘ Wert in der updateOrder Methode erhalten müssen, aber ich kann nicht scheinen, um es zu öffnen. Ich habe das versucht, folgendes ...

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

Ausnahme beim Verfahren Typeerror 'updateOrder' Aufruf: nicht Eigentum lesen 'orderedBy' undefinierten

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

unerwarteten Token Fehlers

Vielen Dank im Voraus

Antwort

Verwandte Themen