Lesson 4 / 22

Collections & the _id Field

Collections group documents; _id uniquely identifies each one.

Collections vs tables

A collection groups related documents, similar to a table. But unlike a table, documents in the same collection don't need identical fields.

Table → collection, row → document

Roughly: database ↔ database, table ↔ collection, row ↔ document, column ↔ field.

The _id field

Every document gets a unique _id — MongoDB auto-generates an ObjectId if you don't supply one.

db.users.findOne()

Output:

{
  _id: ObjectId("65f1a2b3c4d5e6f7a8b9c0d1"),
  name: "Ada Lovelace"
}

Quick check: What happens if you insert a document without an _id?

  • The insert fails
  • MongoDB auto-generates an ObjectId
  • _id is left null
Answer

MongoDB auto-generates an ObjectId — MongoDB always ensures a unique _id, generating an ObjectId when one isn't provided.