sql >> Database >  >> NoSQL >> MongoDB

Verschil tussen id- en _id-velden in MongoDB

Ik verwacht dat het gewoon een typfout in de documentatie is. De _id veld is de primaire sleutel voor elk document. Het heet _id en is ook toegankelijk via id . Poging om een ​​id te gebruiken sleutel kan resulteren in een illegal ObjectId format fout.

Dat gedeelte geeft alleen aan dat de automatisch gegenereerde ObjectID's beginnen met een tijdstempel, zodat het mogelijk is om uw documenten automatisch te sorteren. Dit is best cool sinds de _id wordt automatisch geïndexeerd in elke collectie. Zie http://www.mongodb.org/display/DOCS/Object+IDs voor meer informatie. Specifiek onder "BSON ObjectID-specificatie".

Een BSON ObjectID is een waarde van 12 bytes die bestaat uit een tijdstempel van 4 bytes (seconden sinds epoch), een machine-ID van 3 bytes, een proces-ID van 2 bytes en een teller van 3 bytes. Merk op dat de tijdstempel- en tellervelden big endian moeten worden opgeslagen, in tegenstelling tot de rest van BSON.



  1. Moet ik JWT-tokens in redis opslaan?

  2. Wat is tcp-backlog in redis.conf

  3. Hoe alle hosts toe te staan ​​tot een replicaset in mongodb

  4. MongoDB-replicasets in verschillende regio's implementeren op AWS