Según How do I update Array Elements matching criteria in a MongoDB document?Recuperar criterios de coincidencia de elementos de matriz en un documento MongoDB?
Quiero volver a insertar los elementos de la matriz, por lo que si uno no coincide, insértelo, de lo contrario, actualícelo.
Probé la respuesta a esa pregunta, y funciona bien SI el elemento de la matriz ya existe. Si el elemento no existe, entonces crea un elemento secundario de "$" debajo del campo de la matriz.
estructura Mi Mongo es el siguiente:
Widget (collection)
--Name
--Properties (array)
--Name
--Value
Mi aplicación obtiene un nombre de control y una lista de las propiedades de una llamada WebService. Deseo iterar las Propiedades proporcionadas y actualizar el valor en el MongoDB si el Nombre ya existe, O insertar una nueva Propiedad en el conjunto Propiedades si no lo hace.
También he llegado a esta conclusión. Tengo aproximadamente 3500 propiedades por widget, y probablemente más de 100.000 widgets. ¿Es un diseño sensato tener las propiedades en su propia colección? – justacodemonkey
"Upserts" son posibles si puede reestructurar su documento. Ver mi respuesta –