【发布时间】:2016-08-01 01:10:59
【问题描述】:
我正在尝试从更新自动生成表单的方法中获取嵌套数组的值。
我有这样的架构设置...
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...
{{#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' 值,但我似乎无法访问它。我已经尝试了以下...
var orderedBy = doc.$set.contactDetails.orderedBy;
调用方法“updateOrder”类型错误时出现异常:无法读取未定义的属性“orderedBy”
var orderedBy = doc.$set.'contactDetails.orderedBy';
意外的令牌错误
提前致谢
【问题讨论】: