sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo puedo eliminar duplicados en MongoDb?

Es probable que MongoDB esté haciendo esto para defenderse. Si dropDups en el campo incorrecto, podría limpiar todo el conjunto de datos y bloquear la base de datos con operaciones de eliminación (que son "tan caras" como las escrituras).

Entonces, la primera pregunta es ¿por qué está creando un índice único en el id? campo?

MongoDB crea un _id predeterminado campo que es automáticamente único y indexado. De forma predeterminada, MongoDB rellena el _id con un ObjectId , sin embargo, puede anular esto con el valor que desee. Entonces, si tiene un conjunto listo de valores de ID, puede usarlos .

Si no puede volver a importar los valores, cópielos en una nueva colección mientras cambia id en _id . A continuación, puede eliminar la colección anterior y cambiar el nombre de la nueva. (tenga en cuenta que obtendrá un montón de "errores de clave duplicada", asegúrese de que su código los atrape y los ignore )