Nie, w tej chwili nic takiego nie istnieje. Wiele osób już poprosiło o tę funkcję i możesz ją śledzić w mongodb Jira . O ile widzisz, nie jest to rozwiązane, a także nie zaplanowane (co oznacza, że nie masz szczęścia w najbliższej przyszłości).
Jedyną opcją jest użycie logiki aplikacji do osiągnięcia tego:
- znajdź element, który chcesz i który ma tagi użytkownika jako foo
- iteruj przez UserTags i usuń z nich jednego foo
- zaktualizuj ten element za pomocą nowych tagów użytkownika
Pamiętaj, że ta operacja łamie atomowość, ale ponieważ Mongo nie dostarczyło natywnej metody, aby to zrobić, złamiesz atomowość w jakikolwiek sposób.
Przeniosłem jedno alternatywne rozwiązanie do nowej odpowiedzi, ponieważ nie odpowiada ono na to pytanie, ale reprezentuje jedno z podejść do refaktoryzacji istniejącego schematu. Stał się również tak duży, że zaczął być znacznie większy niż pierwotna odpowiedź.