mgo konvertieren bson.objectId string(hex) in html-Vorlage
Kenne ich dieses problem, vielleicht doppelte zu diese eine. Aber es ist noch nicht eine zufrieden Antwort bis jetzt. Und ich wirklich wollen, um zu zeichnen, einige Aufmerksamkeit zu bekommen, eine Lösung so bald wie möglich. Also ich bitte Euch nicht zu schließen dieses Thema, es sei denn, Sie haben die Lösung und antwortete Ihr in das Vorherige 🙂
Werde ich beschreiben Sie das Problem für sich überzeugen:
Habe ich eine Datenstruktur, in der gespeichert wurde, in mongodb, wie bekannt, die _id
von mongodb ist eine bson.ObjectId
geben, konnte ich abrufen, dass mit der Art wie diese:
type Data struct {
Id bson.ObjectId `bson:"_id,omitempty"`
Content string `bson:"content"`
}
Dann bekam ich eine Scheibe Data
durch das Auffinden mit bestimmten Abfrage-Bedingung, und die Scheibe in http/template
zu leisten für front-end-anzeigen. Um zu manipulieren, um jedes Element in der Scheibe, ich will das Id
Feld, aber Bei der Verwendung mit:
{{range $key, $value := .DataSlice}}
<td>{{$value.Id}}</td>
{{end}}
Dass gibt Nur eine Art von Zeichenfolge, wie ObjectIdHex("550146d1b51bc1c208d1924d")
statt 550146d1b51bc1c208d1924d
das ist schön und einfach zu bedienen.
In der doppelte Ausgabe. Der op gesagt haben, dass Er einen Weg gefunden, um dieses Problem beheben, indem Sie "hinzufügen einer Id_String
", um die ursprüngliche Datenstruktur. Aber ich weiß wirklich nicht, wie zu tun? Ist, bedeutet es, weisen Sie es nach Abruf ? Da ich eine Scheibe zur Speicherung der Daten abgerufen, Und die Daten in eine Scheibe konnte nicht einfach gewechselt werden. Es wird schwieriger zu tun, als den job in der front-end mit Hilfe von jquery. Aber macht das deprimiert mich mit meinem geliebten zu Gehen :-(.
Gibt Es also einen besseren Weg das zu tun?
- mögliche Duplikate von bson.ObjectId in einem template
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den bson.ObjectId Typ Hex Methode, die zurückkehren wird der hex-Darstellung, die Sie suchen, und die Vorlage Paket ermöglicht Aufruf beliebiger Methoden auf Werte, die Sie zur hand haben, so gibt es keine Notwendigkeit zu speichern diesen Wert in der Falschheit überall sonst als string.
Dies funktionieren würde, zum Beispiel:
können Sie auch definieren struct wie folgt
Dann können Sie
<td>{{$value.Id}}</td>
wenn templating html