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:
- busque el elemento que desee y que tenga etiquetas de usuario como foo
- iterar a través de las etiquetas de usuario y eliminar un foo de él
- 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.