繁体   English   中英

更新流星中的嵌套数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM