在Meteor中更新嵌套数组

8 浏览
0 Comments

在Meteor中更新嵌套数组

这是我的架构:

{
_id: "FJwSEMdDriddXLKXh"
name: "t"
number: "5"
owners: [
          {
           _id: 1,
           name: "Name",
           address: "Address",
           type: "Type",
           gender: "Gender",
           notes: []
          }
    ]
}

当点击时,我想在owners嵌套的notes数组中添加字段。

这是我的Meteor模板事件:

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]

我的语法正确吗?如何更新这个嵌套数组?

谢谢!

0
0 Comments

在上述代码中,owners字段的查询中存在错误。在客户端中,你无法直接进行更新操作,因为你使用了owners字段,而只有_id是被允许的。为了解决这个问题,你可以使用Meteor.methods进行更新,并在客户端调用该方法。

0