Ich mache den ‚simple-todo‘ Neuling Tutorial und bemerkte, dass, wenn ich Sicherheit in Schritt 9 hinzugefügt, war ich nicht mehr in der Lage Aufgaben vor, die erstellt zu löschen.Wie bekomme ich nur die ID von this._id, wenn this._id ein Objekt zurückgibt?
Das Problem ist, dass meine remove -Methode überprüft, um sicherzustellen, dass die ID, die es erhält, eine Zeichenfolge ist, und die To-Do-Aufgaben, die zuvor über die Konsole gemacht wurden, ein Objekt zurückgeben, wenn ich This_.id verwenden.
Mit anderen Worten: Aufgaben über das Terminal erstellt, this._id -> ObjectId ("57a128afbe5fd7e7ba9a6fca") Aufgaben mit der Methode Tasks.insert erstellt, this._id -> "57a128afbe5fd7e7ba9a6fca"
Und die Die neue remove-Methode mag den ObjectId-Teil nicht. Wie kann ich nur die ID bekommen? Ich würde mir vorstellen, dass es so etwas wie diese sein würde._id._id, aber das ist undefiniert. Die Problemumgehung bestand darin, die Überprüfung von der Methode "remove" zu entfernen, die weniger sicher ist.
-Link: https://www.meteor.com/tutorials/blaze/security-with-methods
Wenn Sie von der Konsole einsetzen werden Sie Erhalten Sie immer eine 'ObjectId()' anstelle einer Zeichenkette, es sei denn, Sie geben während der Einfügung explizit eine Zeichenkette '_id' an. –