2016-04-11 19 views
0

Autoformで生成されたフォームを更新するメソッドからネストされた配列の値を取得しようとしています。Autoformメソッド更新でネストされた配列にアクセスする

私はこのような設定のスキーマを持っている...

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

私の問題は、私はupdateOrder方法で「contactDetails.orderedBy」の値を取得する必要がありますが、私はそれにアクセスするように見えることができないということです。プロパティを読み取ることができません 'orderedBy'

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

未定義の予期しないトークンエラーの: 'updateOrder' TypeError例外をメソッドを呼び出すことながら、私は次のよう...

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

例外を試してみました

ありがとうございます。

012ここに回答

答えて

関連する問題