#> และ #>>
ก่อนหน้านี้ การค้นหาข้อมูลเอกสารที่ซ้อนกันใน Postgres JSON ต้องใช้การเชื่อมตัวดำเนินการ -> และ ->> ต่อกันหลายชั้น ซึ่งอาจทำให้คำสั่งยาวและอ่านหรือแก้ไขปัญหาได้ยาก Postgres จึงมีตัวดำเนินการ #> และ #>> มาช่วยแก้ปัญหานี้ ในแบบฝึกหัดนี้จะได้ฝึกใช้ตัวดำเนินการทั้งสองกับตาราง nested_reviews ซึ่งมีโครงสร้างดังนี้:

pandas ถูก import ไว้แล้วในชื่อ pd และมีออบเจกต์การเชื่อมต่อที่จัดเก็บไว้ในตัวแปร db_engine ขอให้โชคดี!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
NoSQL เบื้องต้น
คำแนะนำการฝึกหัด
- ใช้ฟังก์ชัน
json_typeof()ร่วมกับตัวดำเนินการ#>เพื่อตรวจสอบชนิดข้อมูลของค่าที่อยู่ใน keystatementของคอลัมน์reviewในตารางnested_reviews - ดึงฟิลด์
branchซึ่งซ้อนอยู่ในออบเจกต์locationsจากคอลัมน์reviewโดยให้ผลลัพธ์เป็นข้อความ และกำหนดนามแฝงเป็นbranch - ลองดึงฟิลด์
zipcodeที่ซ้อนอยู่ในออบเจกต์locationโดยให้ผลลัพธ์เป็นข้อความ และกำหนดนามแฝงเป็นzipcode
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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)