user826407
user826407

Reputation: 151

Why mongoDB uses objectID?

{ "_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?

Upvotes: 6

Views: 7618

Answers (2)

VIJ
VIJ

Reputation: 1636

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

Upvotes: 5

Gates VP
Gates VP

Reputation: 45287

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".

Upvotes: 8

Related Questions