w3resource

How to Search for a Document by ObjectId in MongoDB

Search by ObjectId in MongoDB Console

In MongoDB, each document is assigned a unique _id field, typically an ObjectId, which serves as the primary identifier for the document. To find a specific document by its ObjectId, you can use the find() method in the MongoDB shell. ObjectIds are 24-character hexadecimal strings, and MongoDB provides the ObjectId function to handle them correctly in queries.

Description:

To search for a document by its ObjectId in the MongoDB console, use the find() method with the ObjectId function. ObjectIds are unique identifiers for each document and are commonly used to locate specific records quickly. The ObjectId function in MongoDB converts a string representation of the ObjectId into a format that MongoDB understands, enabling efficient and precise document retrieval.

Syntax:

The syntax to search for a document by its ObjectId is:

db.<collection>.find({ _id: ObjectId("<object_id>") })

Explanation:

  • <collection>: The name of the collection you’re querying.
  • <object_id>: The 24-character hexadecimal ObjectId of the document you want to retrieve.

Example:

Suppose you have a users collection and you want to find a document with the ObjectId 507f191e810c19729de860ea:

Code:

// Search for a document in the 'users' collection by its ObjectId
db.users.find({ _id: ObjectId("507f191e810c19729de860ea") })

Explanation:

  • db.users.find(...)
    The find() method is called on the users collection to locate documents that match the given criteria.
  • { _id: ObjectId("507f191e810c19729de860ea") }
    The query object { _id: ObjectId("507f191e810c19729de860ea") } specifies that MongoDB should look for a document where the _id field matches the given ObjectId. The ObjectId function wraps the ObjectId string, allowing MongoDB to interpret it correctly.

When this command is executed, MongoDB searches the users collection for a document with the specified _id. If a matching document is found, it is returned. If no match is found, the query returns an empty result set.

Additional Notes:

  • ObjectId Format: ObjectIds must be 24-character hexadecimal strings.
  • Case Sensitivity: ObjectIds are case-sensitive, so be careful with uppercase and lowercase letters.

This method is efficient and commonly used for directly accessing specific documents, especially in applications where documents are referenced by their unique ObjectIds.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/mongodb/snippets/how-to-search-for-a-document-by-objectid-in-mongodb.php