MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongodDB $wyciągnij tylko jeden element z tablicy

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:

  1. znajdź element, który chcesz i który ma tagi użytkownika jako foo
  2. iteruj przez UserTags i usuń z nich jednego foo
  3. 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ź.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Ekspozycja MongoDB ObjectIds

  2. MongoDB:zapytanie @DBRef

  3. MongoDB select count(distinct x) na indeksowanej kolumnie — zliczanie unikalnych wyników dla dużych zbiorów danych

  4. Tnij z projekcją w C#

  5. findAll kończy się niepowodzeniem po ponownej inicjalizacji morfii odtwarzania