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

MongodDB $ extrae solo un elemento de la matriz

No, no hay nada como esto en este momento. Mucha gente ya solicitó la función y puede rastrearla en mongodb Jira . Por lo que puede ver, no está resuelto y tampoco programado (lo que significa que no tiene suerte en el futuro cercano).

La única opción es usar la lógica de la aplicación para lograr esto sería:

  1. busque el elemento que desee y que tenga etiquetas de usuario como foo
  2. iterar a través de las etiquetas de usuario y eliminar un foo de él
  3. actualice ese elemento con una nueva etiqueta de usuario

Tenga en cuenta que esta operación rompe la atomicidad, pero debido a que Mongo no ha proporcionado un método nativo para hacerlo, romperá la atomicidad de alguna manera.

Moví una solución alternativa a la nueva respuesta, porque no responde a esta pregunta, pero representa uno de los enfoques para refactorizar el esquema existente. También se volvió tan grande que comenzó a ser mucho más grande que la respuesta original.