Transaksi dan CRUD
Tambah, baca, kemas kini dan padam rekod.
Transaksi dan CRUD ialah pelajaran Akademi JavaScript percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Akademi JavaScript, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Akademi JavaScript merangkumi sejumlah 4 pelajaran.
Segalanya ialah transaction
Dalam IndexedDB, semua operasi bacaan dan penulisan berlaku dalam transaction. Satu transaction mengumpulkan operasi supaya semuanya sama ada berjaya atau dikembalikan semula, sekali gus mengekalkan konsistensi data.
Memulakan transaction
Cipta satu dengan db.transaction(storeNames, mode). Modnya ialah 'readonly' (lalai) atau 'readwrite' untuk pengubahsuaian.
const tx = db.transaction('notes', 'readwrite');
const store = tx.objectStore('notes');Mendapatkan objek store
Daripada transaction, dapatkan object store yang ingin Anda gunakan melalui tx.objectStore(name). Semua kaedah untuk mencipta, membaca, mengemas kini dan memadam berada pada store ini.
const tx = db.transaction('notes', 'readwrite');
const store = tx.objectStore('notes');
// store.add / get / put / deleteMenambah Rekod
store.add(value) memasukkan rekod baharu. Operasi ini gagal jika rekod dengan kunci yang sama sudah wujud, sekali gus melindungi daripada penulisan ganti yang tidak disengajakan.
const store = tx.objectStore('notes');
const req = store.add({ id: 1, text: 'Buy milk' });
req.onsuccess = () => console.log('added with key', req.result);Membaca Rekod
store.get(key) mendapatkan satu rekod berdasarkan kuncinya. Hasilnya tiba pada onsuccess permintaan sebagai request.result (undefined jika tidak ditemui).
const req = store.get(1);
req.onsuccess = () => {
console.log('record:', req.result);
};Mengemas Kini dengan put
store.put(value) memasukkan atau menggantikan rekod. Tidak seperti add, operasi ini menulis ganti rekod sedia ada dengan kunci yang sama, menjadikannya sesuai untuk kemas kini.
store.put({ id: 1, text: 'Buy milk and eggs' });
// Replaces the existing record with id 1.Memadam Rekod
store.delete(key) membuang rekod dengan kunci yang diberikan. Operasi ini berjaya walaupun tiada rekod sedemikian wujud.
const req = store.delete(1);
req.onsuccess = () => console.log('deleted');Mengosongkan store
store.clear() membuang semua rekod dalam object store sekali gus. Gunakannya untuk menetapkan semula data cache.
store.clear();
// All records in 'notes' are removed.Penyelesaian transaction
transaction itu sendiri mencetuskan oncomplete apabila semua operasinya telah disahkan, dan onerror atau onabort jika sesuatu gagal. Gunakan oncomplete untuk mengetahui bahawa penulisan telah disimpan secara kekal.
tx.oncomplete = () => console.log('all changes saved');
tx.onerror = () => console.log('transaction failed');Tingkah Laku Pelakuan Automatik
transaction dilaksanakan secara automatik apabila kawalan kembali kepada gelung acara tanpa permintaan yang belum selesai. Anda tidak boleh mengekalkan satu transaction terbuka merentasi await bagi kerja tak segerak yang tidak berkaitan; lakukan semua operasi store bersama-sama.
// Queue operations synchronously within the same tx:
store.add({ id: 2, text: 'A' });
store.add({ id: 3, text: 'B' });
// Both commit together when tx completes.Ringkasan CRUD
Empat operasi teras dipadankan dengan jelas:
- Cipta:
add - Baca:
get - Kemas kini:
put - Padam:
delete
Semuanya dilakukan dalam transaksi yang menjamin ketekalan.
Semakan Pantas
Uji pemahaman Anda tentang transaksi dan CRUD.
Imbas Kembali
Anda telah mempelajari transaksi dan CRUD:
- Mulakan dengan
db.transaction(store, mode). - Dapatkan store dengan
tx.objectStore(name). addmemasukkan,getmembaca,putmemasukkan atau mengemas kini, dandeletemembuang.- Hasil diterima melalui
onsuccessbagi setiap permintaan. tx.oncompletemengesahkan bahawa perubahan telah disimpan.
Seterusnya, indeks dan kueri.
Pelajari JavaScript dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 59
- Pelajaran
- 200
Soalan Lazim
Adakah pelajaran “Transaksi dan CRUD” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Akademi JavaScript, termasuk “Transaksi dan CRUD”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Akademi JavaScript merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Transaksi dan CRUD”?
Tambah, baca, kemas kini dan padam rekod. Anda berlatih Akademi JavaScript menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Akademi JavaScript?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Akademi JavaScript di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.
Berapa lamakah pelajaran “Transaksi dan CRUD” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Akademi JavaScript ini?
Ya. Setiap pelajaran Akademi JavaScript menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.