முக்கிய உள்ளடக்கத்திற்குச் செல்லவும்
தொகுதி 15 · பாடம் 2 இன் 2பாடத்திட்டத்தில் 57/57~15 min
தொகுதி பாடங்கள் (2/2)

JSON ஒருங்கிணைப்பு செயல்பாடுகள்

JSON ஒருங்கிணைப்பு செயல்பாடுகள்

ஒருங்கிணைப்பு இருதரப்பு. தரவுத்தளமானது JSON ஐப் பாகுபடுத்துவதற்கு தன்னை மட்டுப்படுத்த வேண்டியதில்லை: அது அதை உருவாக்க முடியும். உங்கள் API மற்றும் Node.js ஆகியவை JSON இல் உள்ளமைக்கப்பட்ட பொருட்களை வரிசைப்படுத்துவதற்கான அழுக்கு, தீவிரமான வேலைகளைச் செய்ய வேண்டியதில்லை, ஏனெனில் DB அவற்றை ஏற்கனவே வட்டில் இருந்து நேரடியாகக் கொடுத்துள்ளது.

கட்டுமானப் பொருள்கள் மற்றும் அணிவரிசைகள்

(String_agg) கிளாசிக் நிறை ஒருங்கிணைப்பு அல்லது சரம் இணைப்பிற்குப் பதிலாக, இந்தச் செயல்பாடுகளுக்குத் திரும்புவோம்:

  • json_build_object(key, value, ...) அல்லது jsonb_build_object(...)
  • json_agg(...) அல்லது jsonb_agg(...)
SQL
SELECT json_build_object('name', first_name, 'city', city) AS data
FROM customers;

{ "name": "...", "city": "..." } கொண்ட அச்சிடப்பட்ட வரிசைகளை நீங்கள் பார்ப்பீர்கள்.

உடற்பயிற்சி#sql.m15.l2.e1
முயற்சிகள்: 0ஏற்றுகிறது…

'வாடிக்கையாளர்' அட்டவணையில் இருந்து, தரவை JSON வரிசைகளாகத் திருப்பி, \`json_build_object\` உடன் வரைபடமாக்கப்பட்டது. வரைபட இரண்டு விசைகள்: 'name' ஆனது 'first_name', மற்றும் 'mail' ஆனது 'email' உடன் இணைக்கப்பட்டுள்ளது. நெடுவரிசைக்கு \`AS customer_doc\` ஐப் பயன்படுத்தவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

json_build_object('பெயர்', முதல்_பெயர், 'அஞ்சல்', மின்னஞ்சல்)

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

உடற்பயிற்சி#sql.m15.l2.e2
முயற்சிகள்: 0ஏற்றுகிறது…

ஒவ்வொரு ஆர்டருக்கும் (\`order_id\`), அதில் உள்ள அனைத்து \`product_id\`களையும் ஒரே யூனிட்டில் உருவாக்கவும். 'order_items' அட்டவணையில் இருந்து, \`GROUP BY order_id\` ஐ இயக்கவும். பின்னர் \`order_id\` என்பதைத் தேர்ந்தெடுத்து, \`product_id\` தரவை மட்டும் JSON அணிவரிசையில் (JSON_AGG) திரட்டவும். வரிசைக்கு \`தயாரிப்புகள்\` என்று பெயரிடவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

தரவைச் சேகரிக்க JSON_AGG(product_id) மற்றும் ஒரு உன்னதமான குழு.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்