sql >> Database teknologi >  >> NoSQL >> MongoDB

Generering af _id vs. ObjectId autogenerering i MongoDB

ObjectId s er der til situationer, hvor du ikke har en unik nøgle til hvert dokument i en samling. De er unikke, så du behøver ikke bekymre dig om konflikter, og de sønderdeles rimeligt godt i store udrulninger uden for meget bekymring (de har fordele og ulemper, læs mere her ).

ObjectId indeholder også tidsstemplet for klienten, hvor ObjectId blev genereret (medmindre DB-serveren er konfigureret til at generere alle nøgler). Med det, som du har bemærket, kan du bruge tidsstemplet til at udføre nogle datohandlinger. Men hvis du planlægger at bruge Aggregation Framework, vil du opdage, at du ikke kan bruge et ObjectId i enhver dato operation i øjeblikket (udgave ). Hvis du vil bruge AF'en, skal du bruge et andet felt, der indeholder datoen, desværre gemmer det dobbelt med ObjectId s interne værdi.

Hvis du kan være sikker på, at _id du genererer er unik, så er der ikke megen grund til at bruge et ObjectId i din datastruktur.




  1. Opdater array-element i mongo

  2. Mongoose forbindelse til replika sæt

  3. Json.NET deserialisering af Mongo ObjectId giver det forkerte resultat

  4. hvordan man viser forespørgsel, mens man bruger forespørgselsanmærkninger med MongoRepository med forårsdata