Zacznij terazZacznij za darmo

#> i #>>

Wcześniej, aby odpytywać zagnieżdżone dane dokumentów w Postgres JSON, stosowano łańcuchowe użycie operatorów -> i ->>. Przy głęboko zagnieżdżonych danych takie zapytania mogą jednak stać się długie i trudne do odczytania oraz debugowania. Rozwiązaniem są operatory #> i #>> dostępne w Postgresie. W tym ćwiczeniu przećwiczysz ich użycie, odpytując tabelę nested_reviews, której struktura jest pokazana poniżej:

Tabela nested_reviews z przykładowymi danymi.

pandas zostało zaimportowane jako pd, a obiekt połączenia jest dostępny pod zmienną db_engine. Powodzenia!

To ćwiczenie jest częścią kursu

Wprowadzenie do NoSQL

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj funkcji json_typeof() oraz operatora #>, aby sprawdzić typ danych wartości przechowywanej pod kluczem statement w kolumnie review tabeli nested_reviews.
  • Pobierz pole branch zagnieżdżone w obiekcie locations z kolumny review jako tekst. Nadaj temu polu alias branch.
  • Spróbuj zwrócić pole zipcode zagnieżdżone w obiekcie location jako tekst i nadaj mu alias zipcode.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Attempt to query the statement, nested branch, and nested
# zipcode fields from the review column
query = """
	SELECT 
    	____(review ____ '{statement}'),,
        review ____ _____ AS ____,
        ____
    FROM nested_reviews;
"""

# Execute the query, render results
data = pd.read_sql(query, db_engine)
print(data)
Edytuj i uruchom kod