如何通过选择器从Meteor.js中的Collection中删除文档?

时间:2015-03-12 09:54:09

标签: meteor

当我尝试使用此代码在Google Chrome控制台中使用选择器删除文档时,您是否曾见过像我这样的错误:

Products.remove({name:"ABC"});

错误是:

   Uncaught
    Meteor.makeErrorType.errorClass {error: 403, reason: "Not permitted. Untrusted code may only remove documents by ID.", details: undefined, 
message: "Not permitted. Untrusted code may only remove documents by ID. [403]", errorType: "Meteor.Error"…}

那么我应该怎么做才能通过选择器删除文档。

2 个答案:

答案 0 :(得分:1)

“删除的行为取决于它是由受信任的代码还是不受信任的代码调用。受信任的代码包括服务器代码和方法代码。不受信任的代码包括客户端代码,如事件处理程序和浏览器的JavaScript控制台。” p>

来自Meteor Docs:Collection.remove()

客户端不受信任,因此仅删除ID。服务器端方法将允许您基于选择器进行删除。所以你需要一个方法然后从客户端调用。

您还应该熟悉使用:Methods

答案 1 :(得分:1)

不要这样做,但

  Products.remove({_id: Products.findOne({name:"ABC"})._id});

更好地使用方法......