Digamos que tengo un documento que contiene una matriz llamada Months . Cada elemento de la matriz tiene un campo int que indica a qué mes y año se refiere (yyyyMM), por ejemplo, 201612, 201701, etc.
Cada uno de estos elementos también contiene campos adicionales, pertenecientes a ese mes en particular. por ejemplo, int numOfItems, string Country, etc.
Ahora, suponiendo que tengo dicho documento con solo 2 elementos en la matriz:
Months[0].month == 201612 Months[1].month == 201701 Luego, llamo a addToSet con Months[1].month == 201701.
¿Cómo determina addToSet si se trata de un duplicado o no?
¿Inspecciona y compara todos los subelementos de Months[1] para hacerlo? ¿Solo inspecciona el índice del elemento en la matriz Meses?
Esto es directamente de MongoDB.
Si el valor es un documento, MongoDB determina que el documento es un duplicado si un documento existente en la matriz coincide exactamente con el documento que se agregará; es decir, el documento existente tiene exactamente los mismos campos y valores y los campos están en el mismo orden. Como tal, el orden de los campos importa y no puede especificar que MongoDB compare solo un subconjunto de los campos en el documento para determinar si el documento es un duplicado de un elemento de matriz existente.