Nein, so etwas gibt es derzeit nicht. Viele Leute haben die Funktion bereits angefordert und Sie können sie in mongodb Jira verfolgen . Soweit Sie sehen können, ist es nicht gelöst und auch nicht geplant (was bedeutet, dass Sie in naher Zukunft kein Glück haben).
Die einzige Option ist die Verwendung von Anwendungslogik, um dies zu erreichen:
- Finden Sie das gewünschte Element mit userTags wie foo
- userTags durchlaufen und ein foo daraus entfernen
- Aktualisiere dieses Element mit neuen userTags
Denken Sie daran, dass diese Operation die Atomizität unterbricht, aber da Mongo keine native Methode dafür bereitgestellt hat, werden Sie die Atomizität in irgendeiner Weise unterbrechen.
Ich habe eine alternative Lösung in die neue Antwort verschoben, da sie diese Frage nicht beantwortet, aber einen der Ansätze zum Refactoring bestehender Schemas darstellt. Es wurde auch so groß, dass es viel größer wurde als die ursprüngliche Antwort.