Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why mongoDB uses objectID?

Tags:

mongodb

{ "_id" : ObjectId("4c2209f9f3924d31102bd84a"), "name" : "mongo" }

what exactly is the purpose of objectId? It's a big number that is generated using a timestamp.

If I see any nosql which is key-value, I query with key the value.

Here we use key and value in the as the data and use find () function.

So, I am trying to understand when we really need the objectid? What are the reasons behind that giving access to the user to view the value of the object ID?

After reading the docs, one basic question is mongo DB as hash table type implementation?

like image 464
user826407 Avatar asked Jul 03 '11 03:07

user826407


People also ask

What is ObjectId in MongoDB?

An ObjectID is a 12-byte Field Of BSON type. The first 4 bytes representing the Unix Timestamp of the document. The next 3 bytes are the machine Id on which the MongoDB server is running. The next 2 bytes are of process id. The last Field is 3 bytes used for increment the objectid.

Is ObjectId in MongoDB unique?

The 12-byte ObjectId consists of: A 4-byte timestamp, representing the ObjectId's creation, measured in seconds since the Unix epoch. A 5-byte random value generated once per process. This random value is unique to the machine and process.

What is ObjectId?

An ObjectID is a unique, not null integer field used to uniquely identify rows in tables in a geodatabase. ObjectIDs are limited to 32-bit values, which store a maximum value of 2,147,483,647.

How ObjectId is created in MongoDB?

Basically, ObjectId is treated as the primary key within any MongoDB collection. It is generated automatically whenever we create a new document within a new collection. It is based on a 12-byte hexadecimal value as you can observe in the following syntax.


2 Answers

After readying doc..one basic question is mongo DB as hash table type implementation?

MongoDB used BSON, a binary form of JSON. A JSON object is basically just a "hashtable" or a set of key / value pairs.

what exactly is the use of object id? that is a big number that is generated with time.

In MongoDB, each document you store must have an _id. If you do not set a value for _id, then MongoDB will automatically generate one for you. If you have a unique key when you are inserting the object, you can use that instead. For details on the ObjectId see here.

If I see any nosql which is key-value, I query with key the value.

MongoDB is not just key-value. MongoDB supports multiple indexes on a single collection, you can query on many different fields, not just the "key" or "id".

like image 79
Gates VP Avatar answered Nov 03 '22 04:11

Gates VP


Object ID is similar to primary key in RDBMS Whenever u insert a new document, mongodb will generate object ID.

Object ID is a 12 byte BSON Type.

First 4 Byte represents timestamp next 3 byte unique machine identifier next 2 byte process id next 3 byte random increment counter

Returns the equivalent 16 digit hex

like image 38
VIJ Avatar answered Nov 03 '22 03:11

VIJ