Quickstarters
CRUD Samples
How to Build a CRUD App with Node.js?
32 นาที
ภาพรวม ในคู่มือนี้ คุณจะได้เรียนรู้วิธีการพัฒนาแอปพลิเคชัน crud (สร้าง, อ่าน, อัปเดต, ลบ) แบบครบวงจรโดยใช้ node js เราจะใช้ back4app เป็นบริการแบ็กเอนด์ของเราเพื่อทำให้การจัดการข้อมูลง่ายขึ้น คู่มือนี้จะพาคุณไปตั้งค่าโปรเจกต์ back4app ออกแบบโมเดลข้อมูลแบบไดนามิก และดำเนินการ crud โดยใช้ node js ในตอนแรก คุณจะตั้งค่าโปรเจกต์ back4app ที่ชื่อ basic crud app node ซึ่งให้โซลูชันการจัดเก็บข้อมูลที่ไม่สัมพันธ์กันที่แข็งแกร่ง จากนั้น คุณจะออกแบบสคีมาข้อมูลของคุณโดยการกำหนดคอลเลกชันและฟิลด์ด้วยตนเองหรือโดยการใช้ back4app ai agent ถัดไป คุณจะจัดการแบ็กเอนด์ของคุณผ่าน back4app admin app—อินเทอร์เฟซที่ใช้งานง่ายแบบลากและวางสำหรับการจัดการข้อมูล สุดท้าย คุณจะรวมแอปพลิเคชัน node js ของคุณเข้ากับ back4app โดยใช้ parse javascript sdk (หรือ rest/graphql api ตามที่จำเป็น) ในขณะที่มั่นใจในความปลอดภัยของการเข้าถึง เมื่อสิ้นสุดการสอนนี้ คุณจะได้สร้างแอปพลิเคชัน node js ที่พร้อมใช้งานในระดับการผลิต ซึ่งสามารถทำการดำเนินการ crud ที่จำเป็น พร้อมกับการตรวจสอบสิทธิ์ผู้ใช้และความปลอดภัยของข้อมูล สิ่งที่คุณจะได้เรียนรู้ วิธีการสร้างแอปพลิเคชัน crud ที่ใช้ node js พร้อมกับแบ็กเอนด์ที่มีโค้ดน้อยที่มีประสิทธิภาพ กลยุทธ์ในการออกแบบแบ็กเอนด์ที่สามารถขยายได้และเชื่อมต่อกับแอป node js ของคุณ วิธีการใช้แอป back4app admin สำหรับการดำเนินการสร้าง อ่าน อัปเดต และลบอย่างมีประสิทธิภาพ เทคนิคการปรับใช้ รวมถึงการใช้ docker เพื่อเปิดตัวแอป node js ของคุณอย่างมีประสิทธิภาพ ข้อกำหนดเบื้องต้น ก่อนที่จะเริ่มต้น ให้แน่ใจว่าคุณมี บัญชี back4app ที่มีโปรเจกต์ที่ตั้งค่าใหม่ ต้องการความช่วยเหลือ? เยี่ยมชม เริ่มต้นใช้งานกับ back4app https //www back4app com/docs/get started/new parse app การตั้งค่าการพัฒนา node js ใช้โปรแกรมแก้ไขโค้ดเช่น visual studio code และตรวจสอบให้แน่ใจว่าได้ติดตั้ง node js (v14 หรือใหม่กว่า) ความรู้พื้นฐานเกี่ยวกับ node js, การเขียนโปรแกรมแบบอะซิงโครนัส และ rest apis ดูที่ เอกสาร node js https //nodejs org/en/docs/ หากจำเป็น ขั้นตอนที่ 1 – การตั้งค่าโปรเจกต์ของคุณ การสร้างโปรเจกต์ back4app ใหม่ เข้าสู่ระบบบัญชี back4app ของคุณ คลิกที่ปุ่ม “แอปใหม่” จากแดชบอร์ดของคุณ ตั้งชื่อโปรเจกต์ของคุณ basic crud app node และทำตามคำแนะนำบนหน้าจอเพื่อเสร็จสิ้นการตั้งค่า สร้างโปรเจกต์ใหม่ หลังจากการสร้าง โปรเจกต์ของคุณจะปรากฏบนแดชบอร์ดของคุณ พร้อมสำหรับการกำหนดค่าด้านหลัง ขั้นตอนที่ 2 – การสร้างสคีมาข้อมูลของคุณ การกำหนดโครงสร้างข้อมูลของคุณ สำหรับแอปพลิเคชัน crud นี้ คุณจะสร้างหลายคอลเลกชันในโปรเจกต์ back4app ของคุณ ด้านล่างนี้เป็นตัวอย่างของคอลเลกชันหลักและฟิลด์ที่จำเป็นสำหรับฟังก์ชัน crud พื้นฐาน 1\ คอลเลกชันรายการ คอลเลกชันนี้เก็บรายละเอียดเกี่ยวกับแต่ละรายการ สนาม ประเภท คำอธิบาย id รหัสวัตถุ รหัสประจำตัวที่สร้างขึ้นโดยอัตโนมัติ ชื่อเรื่อง สตริง ชื่อของรายการ คำอธิบาย สตริง ภาพรวมสั้น ๆ ของรายการ สร้างเมื่อ วันที่ เวลาที่ระบุเมื่อรายการถูกเพิ่มเข้ามา อัปเดตเมื่อ วันที่ เวลาที่ระบุการอัปเดตครั้งล่าสุด 2\ การรวบรวมผู้ใช้ คอลเลกชันนี้จัดการข้อมูลประจำตัวผู้ใช้และข้อมูลการตรวจสอบสิทธิ์ สนาม ประเภท คำอธิบาย id รหัสวัตถุ รหัสประจำตัวที่สร้างขึ้นโดยอัตโนมัติ ชื่อผู้ใช้ สตริง ชื่อที่ไม่ซ้ำสำหรับผู้ใช้ อีเมล สตริง ที่อยู่อีเมลที่ไม่ซ้ำกันของผู้ใช้ รหัสผ่านแฮช สตริง รหัสผ่านที่เข้ารหัสเพื่อการตรวจสอบสิทธิ์ที่ปลอดภัย สร้างเมื่อ วันที่ เวลาที่บัญชีถูกสร้างขึ้น อัปเดตเมื่อ วันที่ เวลาที่บัญชีถูกปรับปรุง คุณสามารถสร้างคอลเลกชันและฟิลด์เหล่านี้ด้วยตนเองผ่านแดชบอร์ด back4app สร้างคลาสใหม่ คุณสามารถเพิ่มคอลัมน์โดยการเลือกประเภทข้อมูล ตั้งชื่อฟิลด์ กำหนดค่าเริ่มต้น และทำเครื่องหมายว่าจำเป็นต้องใช้ สร้างคอลัมน์ การใช้ตัวแทน ai ของ back4app สำหรับการสร้างสคีมา ตัวแทน ai ของ back4app ช่วยให้การตั้งค่าสคีมาง่ายขึ้นโดยการสร้างโมเดลข้อมูลของคุณโดยอัตโนมัติตามคำอธิบายของคุณ ซึ่งช่วยเร่งการกำหนดค่าและทำให้โครงสร้างข้อมูลของคุณรองรับการดำเนินการ crud ทั้งหมดได้ วิธีการใช้ตัวแทน ai เปิดตัวแทน ai เข้าถึงตัวแทน ai จากการตั้งค่าโปรเจกต์ back4app ของคุณ กำหนดสคีมาข้อมูลของคุณ อธิบายคอลเลกชันและฟิลด์ที่คุณต้องการ ตรวจสอบและใช้ ตัวแทน ai จะเสนอแนะสคีมา ตรวจสอบข้อเสนอและใช้การเปลี่ยนแปลง ตัวอย่างคำสั่ง create the following collections in my back4app project 1\) collection items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) collection users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) วิธีนี้ช่วยให้มั่นใจในโมเดลข้อมูลที่สอดคล้องและได้รับการปรับให้เหมาะสม ขั้นตอนที่ 3 – เปิดใช้งานแอปผู้ดูแลระบบ & ดำเนินการ crud ภาพรวมของแอปผู้ดูแลระบบ แอปผู้ดูแลระบบ back4app ให้ส่วนติดต่อแบบไม่มีโค้ดสำหรับการจัดการข้อมูลแบ็กเอนด์ของคุณ การออกแบบแบบลากและวางทำให้การดำเนินการ crud เช่น การเพิ่ม การดู การอัปเดต และการลบระเบียนทำได้ง่าย การเปิดใช้งานแอปผู้ดูแลระบบ ไปที่ส่วน “เพิ่มเติม” ในแดชบอร์ด back4app ของคุณ เลือก “แอปผู้ดูแลระบบ” และคลิก “เปิดใช้งานแอปผู้ดูแลระบบ ” กำหนดค่าข้อมูลประจำตัวผู้ดูแลระบบของคุณ โดยการตั้งค่าบัญชีผู้ดูแลระบบเริ่มต้นของคุณ กระบวนการนี้จะสร้างบทบาท (เช่น b4aadminuser ) และคลาสระบบ เปิดใช้งานแอปผู้ดูแลระบบ หลังจากเปิดใช้งาน ให้เข้าสู่ระบบแอปผู้ดูแลระบบเพื่อจัดการข้อมูลของคุณ แดชบอร์ดแอปผู้ดูแลระบบ การจัดการการดำเนินการ crud ด้วยแอปผู้ดูแลระบบ ภายในแอปผู้ดูแลระบบ คุณสามารถ เพิ่มบันทึก ใช้ปุ่ม “เพิ่มบันทึก” ภายในคอลเลกชัน (เช่น รายการ) เพื่อสร้างรายการใหม่ ตรวจสอบและแก้ไขบันทึก คลิกที่บันทึกใด ๆ เพื่อดูรายละเอียดหรืออัปเดตฟิลด์ของมัน ลบบันทึก ลบรายการที่ไม่จำเป็นอีกต่อไป อินเทอร์เฟซที่ใช้งานง่ายนี้ช่วยให้การจัดการข้อมูลง่ายขึ้นมาก ขั้นตอนที่ 4 – เชื่อมโยงแอปพลิเคชัน node js ของคุณกับ back4app เมื่อคุณตั้งค่าด้านหลังเสร็จแล้ว ถึงเวลาที่จะเชื่อมต่อแอป node js ของคุณกับ back4app ตัวเลือก a ใช้ parse javascript sdk ติดตั้ง parse javascript sdk รันคำสั่งต่อไปนี้ในไดเรกทอรีโปรเจกต์ของคุณ npm install parse เริ่มต้น parse ในแอปพลิเคชัน node js ของคุณ สร้างไฟล์การกำหนดค่า (เช่น, parseconfig js ) // parseconfig js const parse = require('parse/node'); parse initialize('your application id', 'your javascript key'); parse serverurl = 'https //parseapi back4app com'; module exports = parse; 3\ implement crud operations for example, create a service to manage items ```javascript // itemsservice js const parse = require(' /parseconfig'); async function fetchitems() { const items = parse object extend('items'); const query = new parse query(items); try { const results = await query find(); console log('fetched items ', results); return results; } catch (error) { console error('error retrieving items ', error); } } async function createitem(title, description) { const items = parse object extend('items'); const item = new items(); item set('title', title); item set('description', description); try { await item save(); console log('item successfully created '); } catch (error) { console error('error creating item ', error); } } async function updateitem(objectid, newtitle, newdescription) { const items = parse object extend('items'); const query = new parse query(items); try { const item = await query get(objectid); item set('title', newtitle); item set('description', newdescription); await item save(); console log('item updated successfully '); } catch (error) { console error('error updating item ', error); } } async function deleteitem(objectid) { const items = parse object extend('items'); const query = new parse query(items); try { const item = await query get(objectid); await item destroy(); console log('item deleted successfully '); } catch (error) { console error('error deleting item ', error); } } module exports = { fetchitems, createitem, updateitem, deleteitem, }; ตัวเลือก b การใช้ rest หรือ graphql หากคุณไม่ต้องการใช้ parse sdk คุณสามารถโต้ตอบกับ back4app ผ่านการเรียก rest api ได้ ตัวอย่างเช่น นี่คือวิธีการดึงรายการโดยใช้ node js const https = require('https'); function fetchitemsrest() { const options = { hostname 'parseapi back4app com', path '/classes/items', method 'get', headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' } }; const req = https request(options, res => { let data = ''; res on('data', chunk => data += chunk); res on('end', () => console log('response ', data)); }); req on('error', error => console error('error ', error)); req end(); } fetchitemsrest(); รวมการเรียก rest เหล่านี้เข้ากับบริการ node js ของคุณตามที่ต้องการ ขั้นตอนที่ 5 – เสริมความปลอดภัยของแบ็คเอนด์ของคุณ การกำหนดรายการควบคุมการเข้าถึง (acls) เพิ่มความปลอดภัยของข้อมูลของคุณโดยการตั้งค่า acls บนวัตถุของคุณ ตัวอย่างเช่น เพื่อทำให้รายการเข้าถึงได้เฉพาะผู้สร้างเท่านั้น const parse = require(' /parseconfig'); async function createprivateitem(title, description, owner) { const items = parse object extend('items'); const item = new items(); item set('title', title); item set('description', description); const acl = new parse acl(); acl setreadaccess(owner, true); acl setwriteaccess(owner, true); acl setpublicreadaccess(false); acl setpublicwriteaccess(false); item setacl(acl); try { await item save(); console log('private item created successfully '); } catch (error) { console error('error saving private item ', error); } } การตั้งค่าการอนุญาตระดับคลาส (clps) ปรับ clps ในแดชบอร์ด back4app ของคุณเพื่อบังคับใช้กฎความปลอดภัยเริ่มต้น โดยให้แน่ใจว่าผู้ใช้ที่ได้รับการตรวจสอบแล้วเท่านั้นที่สามารถโต้ตอบกับคอลเลกชันเฉพาะได้ ขั้นตอนที่ 6 – การนำการตรวจสอบสิทธิ์ผู้ใช้ไปใช้ การกำหนดการจัดการผู้ใช้ back4app ใช้ประโยชน์จากคอลเลกชันผู้ใช้ที่สร้างขึ้นใน parse เพื่อจัดการการตรวจสอบสิทธิ์ ในแอป node js ของคุณ ให้นำการลงทะเบียนและการเข้าสู่ระบบของผู้ใช้ไปใช้ตามที่แสดงด้านล่าง const parse = require(' /parseconfig'); async function signup(username, password, email) { const user = new parse user(); user set('username', username); user set('password', password); user set('email', email); try { await user signup(); console log('user registered successfully!'); } catch (error) { console error('error during sign up ', error); } } async function login(username, password) { try { const user = await parse user login(username, password); console log('user logged in ', user get('username')); } catch (error) { console error('login error ', error); } } module exports = { signup, login }; สามารถใช้วิธีการที่คล้ายกันสำหรับการจัดการเซสชันและฟีเจอร์การตรวจสอบสิทธิ์เพิ่มเติม ขั้นตอนที่ 7 – การปรับใช้แอปพลิเคชัน node js ของคุณ back4app มีขั้นตอนการปรับใช้ที่ราบรื่น คุณสามารถปรับใช้แอป node js ของคุณโดยใช้หลายวิธี รวมถึงการสร้าง docker 7 1 การสร้างแอปพลิเคชันของคุณ การคอมไพล์และบรรจุ ใช้เครื่องมือสร้างที่คุณชื่นชอบ (เช่น npm หรือ yarn) เพื่อเตรียมแอปพลิเคชันของคุณ ตัวอย่างเช่น รัน npm run build ตรวจสอบการสร้างของคุณ ตรวจสอบให้แน่ใจว่าชุดผลิตภัณฑ์ของคุณมีโมดูลและไฟล์ที่จำเป็นทั้งหมด 7 2 การจัดระเบียบเลย์เอาต์ของโปรเจกต์ของคุณ โครงสร้างโปรเจกต์ node js แบบทั่วไปอาจมีลักษณะดังนี้ basic crud app node/ \| src/ \| | controllers/ \| | | itemscontroller js \| | | authcontroller js \| | models/ \| | | item js \| | | user js \| | routes/ \| | itemsroutes js \| | authroutes js \| parseconfig js \| package json \| readme md 7 3 การสร้าง docker สำหรับแอป node js ของคุณ หากคุณต้องการการปรับใช้แบบคอนเทนเนอร์ ให้เพิ่ม dockerfile ลงในรากโปรเจกต์ของคุณ \# use an official node js runtime as a parent image from node 14 alpine \# set the working directory workdir /usr/src/app \# copy package files and install dependencies copy package json / run npm install \# copy the rest of the application code copy \# expose the application port (adjust if necessary) expose 3000 \# start the node js application cmd \["npm", "start"] 7 4 การปรับใช้ผ่าน back4app web deployment เชื่อมต่อกับ github repository ของคุณ โฮสต์โค้ดต้นฉบับ node js ของคุณบน github กำหนดค่าการตั้งค่าการปรับใช้ ในแดชบอร์ด back4app ของคุณ ให้เลือก web deployment ตัวเลือก เชื่อมโยงกับ repository ของคุณ (เช่น basic crud app node ) และเลือกสาขาที่ต้องการ ตั้งค่าคำสั่ง build และ output กำหนดคำสั่ง build ของคุณ (เช่น npm run build ) และระบุโฟลเดอร์ผลลัพธ์ ปรับใช้แอปของคุณ คลิก deploy และติดตามบันทึกจนกว่าแอปพลิเคชันของคุณจะออนไลน์ ขั้นตอนที่ 8 – สรุปและการปรับปรุงในอนาคต ขอแสดงความยินดี! ตอนนี้คุณได้สร้างแอปพลิเคชัน node js crud ที่เชื่อมต่อกับ back4app แล้ว คุณได้ตั้งค่าโครงการที่เรียกว่า basic crud app node , สร้างคอลเลกชันสำหรับ items และ users และจัดการแบ็กเอนด์ของคุณด้วย back4app admin app นอกจากนี้ คุณได้เชื่อมต่อแอป node js ของคุณผ่าน parse javascript sdk (หรือ rest/graphql) และดำเนินการมาตรการด้านความปลอดภัยที่เข้มงวด ขั้นตอนถัดไป ปรับปรุงแอปพลิเคชันของคุณ พิจารณาเพิ่มฟีเจอร์เช่น การกรองขั้นสูง, มุมมองรายละเอียด, หรือการอัปเดตแบบเรียลไทม์ ขยายความสามารถของแบ็กเอนด์ สำรวจฟังก์ชันคลาวด์, การรวม api ของบุคคลที่สาม, หรือการควบคุมการเข้าถึงตามบทบาท เพิ่มพูนความเชี่ยวชาญของคุณ ตรวจสอบ เอกสาร back4app https //www back4app com/docs และบทเรียนเพิ่มเติมเพื่อปรับปรุงแอปพลิเคชันของคุณ ขอให้สนุกกับการเขียนโค้ดและขอให้โชคดีในเส้นทางของคุณกับแอปพลิเคชัน node js crud!