MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Soll ich ObjectID oder UID (von mir selbst implementiert) verwenden, um Benutzer zu identifizieren?

Sie sollten die ObjectID-Generierung den Clients/Treibern überlassen. Dadurch wird sichergestellt, dass generierte IDs unter vielen Dingen wie Zeit, Server und Prozess eindeutig sind. Die Verwendung der Standard-ObjectID bedeutet auch, dass von Treibern implementierte Methoden (wie etwa getTimestamp()) funktionieren.

Wenn Sie jedoch daran denken, Ihre eigene zu verwenden ID-Typ für das _id-Feld (dh nicht der Standard-ObjectID-Typ), dann ist dies eine praktikable Wahl. Wenn Sie beispielsweise Informationen über einen Twitter-Benutzer speichern möchten, ist die Verwendung der Twitter-ID des Benutzers als _id-Wert durchaus sinnvoll. Persönlich versuche ich, mich so wenig wie nötig auf den ObjectID-Typ zu verlassen, da Sammlungen oft bereits ein Feld in jedem Dokument haben, das jedes Dokument eindeutig identifiziert.