Ich habe gesehen, dass diese Frage besprochen wurde, aber ich habe immer noch Probleme damit, Mongos _id
in id
zu manipulieren. Ich benutze Mungo als mein ORM und während es virtuals hat, kann ich nicht scheinen, dass es richtig funktioniert. Unten ist, was ich in meinem Mungo-Modell habe.
Versuch, aus dem Back-End zu beheben
%Vor% Wenn ich eine neue Instanz dieses Modells in express erstelle, kann ich wie apt.id
nachsehen und die ID zurückbekommen, aber wenn ich die Antwort an den Client sende, habe ich nur _id
und nicht id
.
Die zweite Lösung, die ich ausprobiert habe, war, eine berechnete Eigenschaft für id
zu erstellen, aber aus irgendeinem Grund mag es ember nicht. Es gibt 2 Probleme hier. Ember respektiert eine berechnete Eigenschaft namens id
nicht oder zumindest nicht mehr. So sieht mein Glutendatenmodell aus.
Versuch, es vom Frontend aus zu beheben
%Vor%In meiner Vorlage unten rendert nichts für die ID.
%Vor% Die linkTo
Helfer funktionieren, aber die URL hat null wo die ID sein sollte. Dies führt dazu, dass der Zurück-Knopf aufgebrochen wird und die Daten mehrfach geladen werden. Unten ist mein Router für etwas Kontext.
Wenn ich den Namen meiner berechneten id
-Eigenschaft in etwas wie foo
ändere und dann meinen Router in path: ':apartment_foo'
ändere, entstehen URLs, die die Objektreferenz in der URL haben, zB: #/apartments/<App.Apartment:ember357:null>
.
Es ist so etwas, was mich an Glut interessiert. Jede Hilfe wäre willkommen.
Seit der Umstellung auf Ember-CLI hat sich dieser Prozess leicht geändert. Sie möchten dies jetzt tun:
Von der Befehlszeile des Ember-CLI-Projekts:
%Vor%Lassen Sie Ihren neu erstellten Serializer folgendermaßen aussehen:
%Vor% Ab Ember 2.0.0 ist die korrekte Art, Mongo-IDs zu normalisieren, die Verwendung von extractId
im Serializer. Hier ist ein Beispiel für RESTSerializer, das gegen eine Rails / Grape API läuft:
Beachten Sie, dass Sie isNewSerializerAPI
auf true
setzen müssen, damit dies funktioniert.
Wenn Sie möchten, können Sie versuchen, zu resourceHash._id.$id
oder was auch immer für Sie funktioniert, zu wechseln. Wenn Sie sich nicht sicher sind, versuchen Sie console.log(resourceHash)
, die Daten zu überprüfen.
Tags und Links mongodb mongoose ember.js ember-data