[英]Update nested array in Meteor
这是我的架构:
{
_id: "FJwSEMdDriddXLKXh"
name: "t"
number: "5"
owners: [
{
_id: 1,
name: "Name",
address: "Address",
type: "Type",
gender: "Gender",
notes: []
}
]
}
然后单击,我将在所有者嵌套注释数组中添加字段。 这是我的流星模板事件:
Template.owners.event({
'click #addNoteToOwner' : function(event, template){
event.preventDefault();
Territories.update({_id: template.data._id, owners: this._id}, {$push : {'owners.$.notes': {title:"First Title"}}})
}
})
如果我尝试更新文档,则会出现以下控制台错误:
Uncaught Error: Not permitted. Untrusted code may only update documents by ID. [403]
我的语法正确吗? 如何更新此嵌套数组?
谢谢!
您在owners
字段中的查询中有错误:
Territories.update({
_id: template.data._id,
owners: {
$elemMatch: {
_id: this._id
}
},
{
$push: {
'owners.$.notes': {
title: "First Title"
}
}
})
您将无法直接从客户端进行更新,因为您使用owners
字段,并且只允许_id
。 为了解决这个问题,您可以使用Meteor.methods
更新并从客户端调用该方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.