Get started
Daten lesen und schreiben
10 min
dieser leitfaden wird ihnen beibringen, wie sie datenobjekte erstellen, lesen, aktualisieren und löschen können, indem sie das parse sdk auf back4app verwenden die datenspeicherung auf back4app dreht sich um die parse object klasse, die es ihnen ermöglicht, schlüssel wert paare von json kompatiblen daten zu speichern, was flexibilität und einfachheit im datenmanagement bietet ziele verstehen, wie man datenmanipulation (crud) auf back4app mit dem parse sdk durchführt erfahren, wie man das parse sdk auf verschiedenen plattformen einrichtet und verwendet voraussetzungen app auf back4app sie benötigen eine auf back4app erstellte app leitfaden zur erstellung einer neuen app https //www back4app com/docs/get started/new parse app parse sdk installation leitfaden zur installation des parse sdk https //www back4app com/docs/get started/parse sdk 1 erstellen von parse objekten um daten in back4app zu speichern, müssen sie ein parseobject erstellen, das mit einer bestimmten klasse verbunden ist zum beispiel könnten sie in einer fußballbezogenen anwendung eine soccerplayers klasse erstellen, um daten über spieler zu speichern 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 nachdem sie diesen code ausgeführt haben, können sie das neue objekt im datenbank abschnitt des back4app dashboards überprüfen beachten sie, dass sie die soccerplayers klasse nicht manuell erstellen müssen; sie wird automatisch erstellt, wenn ein objekt zum ersten mal gespeichert wird 2 lesen von parse objekten um gespeicherte daten abzurufen, können sie eine parsequery zum beispiel, um den oben erstellten spieler anhand seiner 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 zusätzlich zu objectid , können sie auch nach anderen parametern abfragen (z b yearofbirth , playername ), was eine größere flexibilität bei der datensuche bietet 3 aktualisierung von parse objekten um ein objekt zu aktualisieren, rufen sie es zuerst ab, setzen sie neue werte für die gewünschten attribute und rufen sie die save() methode auf 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 löschen von parse objekten um ein objekt zu löschen, rufen sie es mit objectid ab und verwenden sie die destroy() methode 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 noch einmal, sie müssen das objekt nicht über seine objectid objectid parse bietet viele suchalternativen, um informationen von parseobjects parseobjects , die sie in der offiziellen parse dokumentation für jede einzelne technologie näher kennenlernen können best practices und zusätzliche tipps namenskonventionen verwenden sie classnameslikethis für klassen und keynameslikethis für schlüssel, um ihren code organisiert und lesbar zu halten häufige fehlerüberprüfungen wenn sie probleme beim verbinden mit dem parse sdk haben, überprüfen sie ihre sdk installation und konfiguration automatische felder denken sie daran, dass jedes parse objekt automatisch createdat , updatedat , und objectid felder enthält nächste schritte nachdem sie ihre ersten daten auf back4app gespeichert und gelesen haben, empfehlen wir ihnen, die datenspeicherung mit den folgenden anleitungen weiter zu erkunden sie erfahren, wie sie unterstützte datentypen speichern, relationale daten speichern und abfragen, geopunkte verwenden und optimierte datenmodelle erstellen react native flutter android ios javascript graphql reactjs fazit dieser leitfaden bietet einen soliden ausgangspunkt für die arbeit mit daten auf back4app und erleichtert die datenspeicherung und manipulation über plattformen hinweg mithilfe des parse sdk bei fragen können sie sich gerne an back4app support wenden!