Eliminar duplicados en mongodb

Me gustaría eliminar duplicados en robomongo, mi versión 3.0.12, así que no puedo usar DropDups,

{
    "_id" : ObjectId("id"),
    "Name" : "No One",
    "SituationDate" : "18-03-2017",
    "Situation" : "ACTIVE",
    "Region" : "13 REGION",
    "RegisterNumber" : "7649",
    "Version" : "20170517"
}

RegisterNumber debe ser único, por lo que me gustaría eliminarlos como duplicados por RegisterNumber.

EDITAR: acabo de descubrir que las personas de diferentes regiones pueden tener el mismo número de registro ... ¿Cómo puedo eliminar solo aquellos que tienen el mismo número de registro y región?

Solución: Aquí está la solución dada por @Neil Lunn con pequeñas modificaciones, la probé en una colección llamadaTEST Y funcionó:

var bulk = db.getCollection('TEST').initializeOrderedBulkOp();
var count = 0;

db.getCollection('TEST').aggregate([
  // Group on unique value storing _id values to array and count 
  { "$group": {
    "_id": { RegisterNumber: "$RegisterNumber", Region: "$Region" },
    "ids": { "$push": "$_id" },
    "count": { "$sum": 1 }      
  }},
  // Only return things that matched more than once. i.e a duplicate
  { "$match": { "count": { "$gt": 1 } } }
]).forEach(function(doc) {
  var keep = doc.ids.shift();     // takes the first _id from the array

  bulk.find({ "_id": { "$in": doc.ids }}).remove(); // remove all remaining _id matches
  count++;

  if ( count % 500 == 0 ) {  // only actually write per 500 operations
      bulk.execute();
      bulk = db.getCollection('TEST').initializeOrderedBulkOp();  // re-init after execute
  }
});

// Clear any queued operations
if ( count % 500 != 0 )
    bulk.execute();

Respuestas a la pregunta(1)

Su respuesta a la pregunta