Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

One way to identify identical document values in a MongoDB collection using 2 fields is to use the $group aggregation pipeline stage. For example, if we have a collection of documents with fields "name" and "age", we can use the following pipeline:

db.collection.aggregate([
  {
    $group: {
      _id: { name: "$name", age: "$age" },
      count: { $sum: 1 }
    }
  },
  {
    $match: {
      count: { $gt: 1 }
    }
  }
])

This pipeline groups documents by the "name" and "age" fields and counts the number of documents that have each unique combination of values. The $match stage filters out any groups that have a count of 1, leaving us with only the groups that have identical document values.

We can also include additional fields in the _id object to group by more than 2 fields, or add more stages to the pipeline to further filter or manipulate the results.