Built-in Methods

MongoDB provides several built-in methods for working with data and collections.

find()

The find() method is used to query and retrieve documents from a collection. It accepts an optional query object to filter the documents, and returns a cursor to the matching documents.

// Find all documents in the collection
db.collectionName.find()

// Find documents where the "age" field is greater than 30
db.collectionName.find({ age: { $gt: 30 } })

explain()

The explain() method is used to retrieve information about how MongoDB executed a query. It helps in understanding the query plan and optimizing queries.

db.collectionName.find().explain()

stats()

The stats() method returns a document containing statistics about the collection, such as the number of documents, total size, and index information.

db.collectionName.stats()

listCommands()

The listCommands() method lists all the available database commands in MongoDB.

db.listCommands()

getCollectionInfos()

The getCollectionInfos() method returns a document containing information about all the collections in the current database, such as the collection name, options, and index information.

db.getCollectionInfos()

Step 8: Advanced Topics

Aggregating Records

The aggregate() method in MongoDB is used to perform advanced data aggregation operations. It allows you to process and transform data using a pipeline of stages, including filtering, grouping, sorting, and more.

// Group documents by the "category" field and count the number of documents in each group
db.collectionName.aggregate([
  { $group: { _id: "$category", count: { $sum: 1 } } }
])

// Join data from multiple collections using the $lookup stage
db.collectionName.aggregate([
  {
    $lookup: {
      from: "otherCollection",
      localField: "field_from_collectionName",
      foreignField: "field_from_otherCollection",
      as: "joinedData"
    }
  }
])

Limiting and Skipping Records in a Single Query

MongoDB allows you to combine the limit() and skip() methods in a single query to retrieve a specific subset of documents from a collection.

// Skip the first 10 documents and retrieve the next 5
db.collectionName.find().skip(10).limit(5)

This query will skip the first 10 documents and return the next 5 documents from the result set.

Last updated

Was this helpful?