2016-07-23 14 views
0

Angenommen, es gibt eine Webanwendung, die einige Videos anzeigt. Ich denke, es ist üblich, wenn Sie seine URL (nicht API) entwerfen.Wie Design Anwendungs-URL im Zusammenhang mit ID bei Verwendung Mongo Vergleich mit RDBMS zu entwerfen?

http://myservice.com/videos/{video-id}

Die Strategie ist in Ordnung, wenn Implementierungen Verwendung RDBMS weil ids im Allgemeinen sehr kurz ist, aber ich habe gegen das Problem gerungen von MongoDB verwenden.

MySQL Fall: http://myservice.com/videos/1

Mongo Fall: http://myservice.com/videos/57932d53a1b33ab926ab54b3

IMHO ist es zu lange URL darzustellen. Ich will nicht, wie sehen, unter

http://myservice.com/videos/57932d53a1b33ab926ab54b3/comments/57932d53a1b33ab926ab54c2

Muß ich eine Art und Weise ändern, wie wie Video-Namen oder die Anzahl der Sortierreihenfolge darstellen? Gibt es eine bessere Idee, den Bezeichner zu repräsentieren?

Antwort

0

Die IDs, die Sie als Beispiel angegeben haben, sehen aus wie automatisch generierte ObjectId-Werte. Sie können beliebige Werte verwenden, um das _id-Feld darzustellen, sofern sie innerhalb einer einzelnen Auflistung eindeutig sind.

Der Feldname _id ist für die Verwendung als Primärschlüssel reserviert. Der Wert muss in der Auflistung eindeutig sein, ist unveränderlich und kann einen beliebigen Typ haben, der kein Array ist. (Siehe documentation)

Ein weiterer Ansatz ist es, ein Feld in lesbarem Format zu Ihrem Dokument für die URL Bildung Zweck hinzuzufügen (und einen eindeutigen Index für die es schaffen, wenn erforderlich).