sql >> Databasteknik >  >> NoSQL >> MongoDB

Skillnad mellan id- och _id-fält i MongoDB

Jag förväntar mig att det bara är ett stavfel i dokumentationen. _id fältet är primärnyckeln för varje dokument. Den heter _id och är också tillgänglig via id . Försöker använda ett id nyckel kan resultera i ett illegal ObjectId format fel.

Det avsnittet indikerar bara att de automatiskt genererade ObjectID:n börjar med en tidsstämpel så att det är möjligt att sortera dina dokument automatiskt. Det här är ganska coolt eftersom _id indexeras automatiskt i varje samling. Se http://www.mongodb.org/display/DOCS/Object+IDs för mer information. Specifikt under "BSON ObjectID Specification".

Ett BSON ObjectID är ett 12-byte värde som består av en 4-byte tidsstämpel (sekunder sedan epok), ett 3-byte maskin-id, ett 2-byte process-id och en 3-byte räknare. Observera att tidsstämpeln och räknarfälten måste lagras big endian till skillnad från resten av BSON.



  1. Lagra objektegenskaper i redis

  2. mongodb $in limit

  3. MongoDB db.collection.count()

  4. Vilket är det rekommenderade sättet att sänka index med Mongoose?