我正在做新手教程' simple-todo'并注意到,一旦我在步骤9中添加了安全性,我就无法删除之前创建的任务。
问题是我的remove方法是检查以确保它收到的ID是一个字符串,并且当我使用this_.id时,先前通过控制台做的待办事项会返回一个对象。
换句话说: 通过终端创建的任务,this._id - >的ObjectId(" 57a128afbe5fd7e7ba9a6fca&#34) 使用Tasks.insert方法创建的任务,this._id - > " 57a128afbe5fd7e7ba9a6fca"
新的删除方法与ObjectId部分不同。我怎样才能得到身份证?我认为它会像this._id._id那样,但那是未定义的。解决方法是从"删除"删除支票。方法,不太安全。
链接:https://www.meteor.com/tutorials/blaze/security-with-methods
答案 0 :(得分:2)
您可以使用this._id._str
获取ObjectId的Hex部分。
我建议您的方法只使用字符串,并在客户端进行检查以查看是否需要使用this._id或this._id._str