Get started
Membaca dan Menulis data
10 mnt
panduan ini akan mengajarkan anda bagaimana cara membuat, membaca, memperbarui, dan menghapus objek data di back4app menggunakan parse sdk penyimpanan data di back4app berputar di sekitar parse object kelas, yang memungkinkan anda untuk menyimpan pasangan kunci nilai dari data yang kompatibel dengan json, memberikan fleksibilitas dan kesederhanaan dalam manajemen data tujuan memahami cara melakukan manipulasi data (crud) di back4app menggunakan parse sdk belajar cara mengatur dan menggunakan parse sdk di berbagai platform prasyarat aplikasi di back4app anda memerlukan aplikasi yang dibuat di back4app panduan untuk membuat aplikasi baru https //www back4app com/docs/get started/new parse app instalasi parse sdk panduan instalasi parse sdk https //www back4app com/docs/get started/parse sdk 1 membuat objek parse untuk menyimpan data di back4app, anda perlu membuat parseobject yang terkait dengan kelas tertentu misalnya, dalam aplikasi yang berhubungan dengan sepak bola, anda dapat membuat kelas soccerplayers untuk menyimpan data tentang pemain async function savenewplayer() { const soccerplayers = new parse object("soccerplayers"); soccerplayers set("playername", "a wed"); soccerplayers set("yearofbirth", 1997); soccerplayers set("emailcontact", "a wed\@email io"); soccerplayers set("attributes", \["fast", "good conditioning"]); try { const result = await soccerplayers save(); console log('new object created with objectid ' + result id); } catch (error) { console error('error ' + error message); } } flutter parseobject soccerplayers = parseobject('soccerplayers') set('playername', 'a wed') set('yearofbirth', 1997) set('emailcontact', 'a wed\@email io') set('attributes', \['fast', 'good conditioning']); parseresponse response = await soccerplayers save(); if (response success) { print('new object created with objectid ${response result objectid}'); } else { print('error ${response error message}'); } android parseobject soccerplayers = new parseobject("soccerplayers"); soccerplayers put("playername", "a wed"); soccerplayers put("yearofbirth", 1997); soccerplayers put("emailcontact", "a wed\@email io"); soccerplayers put("attributes", arrays aslist("fast", "good conditioning")); soccerplayers saveinbackground(e > { if (e == null) { log d("parse", "new object created with objectid " + soccerplayers getobjectid()); } else { log e("parseerror", e getmessage()); } }); ios let soccerplayer = parseobject(classname "soccerplayers") soccerplayer\["playername"] = "a wed" soccerplayer\["yearofbirth"] = 1997 soccerplayer\["emailcontact"] = "a wed\@email io" soccerplayer\["attributes"] = \["fast", "good conditioning"] soccerplayer save { result in switch result { case success(let savedplayer) print("new object created with objectid \\(savedplayer objectid!)") case failure(let error) print("error \\(error localizeddescription)") } } php $soccerplayers = new parseobject("soccerplayers"); $soccerplayers >set("playername", "a wed"); $soccerplayers >set("yearofbirth", 1997); $soccerplayers >set("emailcontact", "a wed\@email io"); $soccerplayers >setarray("attributes", \["fast", "good conditioning"]); try { $soccerplayers >save(); echo 'new object created with objectid ' $soccerplayers >getobjectid(); } catch (parseexception $ex) { echo 'error ' $ex >getmessage(); } net parseobject soccerplayers = new parseobject("soccerplayers"); soccerplayers\["playername"] = "a wed"; soccerplayers\["yearofbirth"] = 1997; soccerplayers\["emailcontact"] = "a wed\@email io"; soccerplayers\["attributes"] = new list\<string> { "fast", "good conditioning" }; await soccerplayers saveasync(); console writeline("new object created with objectid " + soccerplayers objectid); rest api curl x post \\ h "x parse application id application id" \\ h "x parse rest api key rest api key" \\ h "content type application/json" \\ d '{ "playername" "a wed", "yearofbirth" 1997, "emailcontact" "a wed\@email io", "attributes" \["fast", "good conditioning"] }' \\ https //parseapi back4app com/classes/soccerplayers setelah menjalankan kode ini, anda dapat memverifikasi objek baru di database bagian dari dasbor back4app perhatikan bahwa anda tidak perlu membuat kelas soccerplayers secara manual; itu akan dibuat secara otomatis saat objek disimpan untuk pertama kalinya 2 membaca objek parse untuk mengambil data yang disimpan, anda dapat menggunakan parsequery sebagai contoh, untuk mengambil pemain yang dibuat di atas berdasarkan objectid js async function retrieveplayer() { const query = new parse query("soccerplayers"); try { const player = await query get("hmctr9rd3s"); // replace with the actual objectid console log("player name " + player get("playername")); console log("year of birth " + player get("yearofbirth")); console log("email contact " + player get("emailcontact")); } catch (error) { console error("error retrieving object " + error message); } } flutter parseresponse response = await parseobject("soccerplayers") getobject("hmctr9rd3s"); // replace with the actual objectid if (response success) { parseobject player = response result; print("player name ${player get\<string>('playername')}"); print("year of birth ${player get\<int>('yearofbirth')}"); print("email contact ${player get\<string>('emailcontact')}"); } else { print("error retrieving object ${response error message}"); } android parsequery\<parseobject> query = parsequery getquery("soccerplayers"); query getinbackground("hmctr9rd3s", (player, e) > { // replace with the actual objectid if (e == null) { log d("parse", "player name " + player getstring("playername")); log d("parse", "year of birth " + player getint("yearofbirth")); log d("parse", "email contact " + player getstring("emailcontact")); } else { log e("parseerror", "error retrieving object " + e getmessage()); } }); ios let query = parsequery(classname "soccerplayers") query get(objectid "hmctr9rd3s") { result in // replace with the actual objectid switch result { case success(let player) print("player name \\(player\["playername"] ?? "no name")") print("year of birth \\(player\["yearofbirth"] ?? "no birth year")") print("email contact \\(player\["emailcontact"] ?? "no email")") case failure(let error) print("error retrieving object \\(error localizeddescription)") } } php $query = new parsequery("soccerplayers"); try { $player = $query >get("hmctr9rd3s"); // replace with the actual objectid echo "player name " $player >get("playername") "\n"; echo "year of birth " $player >get("yearofbirth") "\n"; echo "email contact " $player >get("emailcontact") "\n"; } catch (parseexception $ex) { echo 'error retrieving object ' $ex >getmessage(); } net var query = parseobject getquery("soccerplayers"); var player = await query getasync("hmctr9rd3s"); // replace with the actual objectid console writeline("player name " + player get\<string>("playername")); console writeline("year of birth " + player get\<int>("yearofbirth")); console writeline("email contact " + player get\<string>("emailcontact")); rest api curl x get \\ h "x parse application id application id" \\ h "x parse rest api key rest api key" \\ https //parseapi back4app com/classes/soccerplayers/hmctr9rd3s # replace with the actual objectid selain objectid , anda juga dapat melakukan kueri berdasarkan parameter lain (misalnya, yearofbirth , playername ), menawarkan fleksibilitas yang lebih besar dalam pencarian data 3 memperbarui objek parse untuk memperbarui sebuah objek, ambil terlebih dahulu, atur nilai baru untuk atribut yang diinginkan, dan panggil metode save() async function updateplayer() { const query = new parse query("soccerplayers"); try { const player = await query get("hmctr9rd3s"); // replace with the actual objectid player set("yearofbirth", 1998); await player save(); console log("object updated successfully!"); } catch (error) { console error("error updating object " + error message); } } flutter parseobject player = parseobject("soccerplayers") objectid = "hmctr9rd3s"; // replace with the actual objectid player set("yearofbirth", 1998); parseresponse response = await player save(); if (response success) { print("object updated successfully!"); } else { print("error updating object ${response error message}"); } android parsequery\<parseobject> query = parsequery getquery("soccerplayers"); query getinbackground("hmctr9rd3s", (player, e) > { // replace with the actual objectid if (e == null) { player put("yearofbirth", 1998); player saveinbackground(e1 > { if (e1 == null) { log d("parse", "object updated successfully!"); } else { log e("parseerror", "error updating object " + e1 getmessage()); } }); } else { log e("parseerror", "error retrieving object " + e getmessage()); } }); ios let query = parsequery(classname "soccerplayers") query get(objectid "hmctr9rd3s") { result in // replace with the actual objectid switch result { case success(var player) player\["yearofbirth"] = 1998 player save { saveresult in switch saveresult { case success print("object updated successfully!") case failure(let error) print("error updating object \\(error localizeddescription)") } } case failure(let error) print("error retrieving object \\(error localizeddescription)") } }$query = new parsequery("soccerplayers"); try { $player = $query >get("hmctr9rd3s"); // replace with the actual objectid $player >set("yearofbirth", 1998); $player >save(); echo "object updated successfully!"; } catch (parseexception $ex) { echo 'error updating object ' $ex >getmessage(); } net var query = parseobject getquery("soccerplayers"); var player = await query getasync("hmctr9rd3s"); // replace with the actual objectid player\["yearofbirth"] = 1998; await player saveasync(); console writeline("object updated successfully!"); rest api curl x put \\ h "x parse application id application id" \\ h "x parse rest api key rest api key" \\ h "content type application/json" \\ d '{"yearofbirth" 1998}' \\ https //parseapi back4app com/classes/soccerplayers/hmctr9rd3s # replace with the actual objectid 4 menghapus objek parse untuk menghapus objek, ambil dengan objectid dan gunakan destroy() metode async function deleteplayer() { const query = new parse query("soccerplayers"); try { const player = await query get("hmctr9rd3s"); // replace with the actual objectid await player destroy(); console log("object deleted successfully!"); } catch (error) { console error("error deleting object " + error message); } } flutter parseobject player = parseobject("soccerplayers") objectid = "hmctr9rd3s"; // replace with the actual objectid parseresponse response = await player delete(); if (response success) { print("object deleted successfully!"); } else { print("error deleting object ${response error message}"); } android parsequery\<parseobject> query = parsequery getquery("soccerplayers"); query getinbackground("hmctr9rd3s", (player, e) > { // replace with the actual objectid if (e == null) { player deleteinbackground(e1 > { if (e1 == null) { log d("parse", "object deleted successfully!"); } else { log e("parseerror", "error deleting object " + e1 getmessage()); } }); } else { log e("parseerror", "error retrieving object " + e getmessage()); } }); ios let query = parsequery(classname "soccerplayers") query get(objectid "hmctr9rd3s") { result in // replace with the actual objectid switch result { case success(let player) player delete { deleteresult in switch deleteresult { case success print("object deleted successfully!") case failure(let error) print("error deleting object \\(error localizeddescription)") } } case failure(let error) print("error retrieving object \\(error localizeddescription)") } } php $query = new parsequery("soccerplayers"); try { $player = $query >get("hmctr9rd3s"); // replace with the actual objectid $player >destroy(); echo "object deleted successfully!"; } catch (parseexception $ex) { echo 'error deleting object ' $ex >getmessage(); } net var query = parseobject getquery("soccerplayers"); var player = await query getasync("hmctr9rd3s"); // replace with the actual objectid await player deleteasync(); console writeline("object deleted successfully!"); rest api curl x delete \\ h "x parse application id application id" \\ h "x parse rest api key rest api key" \\ https //parseapi back4app com/classes/soccerplayers/hmctr9rd3s # replace with the actual objectid sekali lagi, anda tidak perlu mengambil objek berdasarkan objectid objectid parse memiliki banyak alternatif pencarian untuk mengambil informasi dari parseobjects parseobjects , yang dapat anda ketahui lebih lanjut dalam dokumentasi resmi parse untuk setiap teknologi yang berbeda praktik terbaik dan tips tambahan konvensi penamaan gunakan classnameslikethis untuk kelas dan keynameslikethis untuk kunci agar kode anda terorganisir dan mudah dibaca pemeriksaan kesalahan umum jika anda mengalami masalah saat menghubungkan ke parse sdk, verifikasi instalasi dan konfigurasi sdk bidang otomatis ingat bahwa setiap objek parse secara otomatis menyertakan createdat , updatedat , dan objectid langkah selanjutnya setelah menyimpan dan membaca data pertama anda di back4app, kami merekomendasikan untuk terus menjelajahi penyimpanan data menggunakan panduan di bawah ini anda akan menemukan cara menyimpan tipe data yang didukung, menyimpan dan mengkueri data relasional, menggunakan geopoint, dan membuat model data yang dioptimalkan react native flutter android ios javascript graphql reactjs kesimpulan panduan ini memberikan titik awal yang solid untuk bekerja dengan data di back4app, membuat penyimpanan dan manipulasi data di berbagai platform menjadi mudah menggunakan parse sdk untuk pertanyaan apa pun, jangan ragu untuk menghubungi dukungan back4app !