Javascript 如何删除Meteor中的文档

Javascript 如何删除Meteor中的文档,javascript,meteor,Javascript,Meteor,如何删除Meteor中的文档。我遇到了这个错误 “未捕获错误:不允许。不受信任的代码只能删除。” ID为[403]的文档” list.js Template.KullaniciListele.events({ 'click #delete': function (id, template) { Meteor.users.remove({_id:id}); } }); users.html {{#each kullaniciList}} <tr>

如何删除Meteor中的文档。我遇到了这个错误

“未捕获错误:不允许。不受信任的代码只能删除。” ID为[403]的文档”

list.js

 Template.KullaniciListele.events({
    'click #delete': function (id, template) {
     Meteor.users.remove({_id:id});
    }
  });
users.html

{{#each kullaniciList}}
  <tr>
   <td><a href="javascript:;" id="delete" >delete</a>
  </tr>
 {/each}}
{{{#每个kullaniclist}
{/each}
事件
对象作为其第一个参数。因此,您的代码正在执行以下操作:

Meteor.users.remove({_id: event});
因为
event
不是字符串,所以您得到了一个错误。假设
kullaniclist
中的每个项目都包含一个
\u id
(他们是用户吗?),那么您的代码可能如下所示:

Template.KullaniciListele.events({
  'click .delete': function (event) {
    event.preventDefault();
    Meteor.users.remove(this._id);
  }
});
请注意,一个页面上只能有一个
#delete
id,因此我将其切换为一个类。模板中的对应行应为:

   <td><a href="#" class="delete">delete</a></td>

警告这只是为了让某些功能正常工作-请不要将其添加到生产代码中,因为它允许任何用户删除任何其他用户。要正确执行此操作,您需要确保调用方是管理员或其他人,但这超出了此问题的范围。

我应用了您的代码,但出现以下错误“删除失败:拒绝访问。方法“删除”的受限集合上未设置允许验证程序”。您需要允许规则或方法。请参阅更新的答案。
if (Meteor.isServer) {
  Meteor.users.allow({
    remove: function(userId, doc) {
      // JUST FOR TESTING - NEVER DO THIS IN PRODUCTION
      return true;
    }
  });
}