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

Jak wykonać zapytanie w tej zagnieżdżonej strukturze dokumentu (MongoDB)?

Kilka razy odpowiedziałem na te pytania dotyczące pobierania samych poddokumentów z kolekcji mongo tutaj i tutaj

Po prostu nie ma obecnie możliwości, aby to zrobić. Jest to zachowanie filtrowania wielopoziomowego dokumentu osadzonego, zwykle pasujący filtr zwróci cały dokument, a nie podzbiory.

Istnieją już dwa nierozwiązane problemy w mongo związane z tym operatorem pozycyjnym ($) w polach do zwrócenia specyfikatora oraz Możliwość wykorzystania danych poddokumentu, którego zawartość została użyta do spełnienia zapytania za pomocą operatora $ . (Zaloguj się, aby zagłosować, jeśli naprawdę potrzebujesz tej funkcji)

Twój alternatywny schemat również nie jest tutaj przydatny.

więc musisz przechowywać każdą funkcję w oddzielnym dokumencie, tak aby działała tak, jak chcesz

funkcja 1

{
'_id': SomeObjectId,
'name' :'some name',
'value': 'feature 1',
'some_field' : 'zzz'
}

funkcja 2

{
'_id': SomeObjectId,
'name' :'some name',
'value': 'feature 2',
'some_field' : 'zzz'
}

i zapytania

db.features.find({'_id':someobjectid})

zwróci tylko konkretną funkcję




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Spring boot próbuje połączyć się z mongo po dodaniu zależności maven mongo-java-driver

  2. Agregacja MongoDB ze sterownikiem Java

  3. Całkowity rozmiar pamięci MongoDB

  4. Przechowywanie pliku w mongodb przy użyciu node.js

  5. MongoDb TTL na zagnieżdżonym dokumencie jest możliwe?