ios - How to prevent duplicate entry on parse? -
i' trying save song info parse, if song exist in parse want code nothing.
i've tried code below:
var music = pfobject(classname:"musics") var query = pfquery(classname:"musics") query.findobjectsinbackgroundwithblock { (objects: [anyobject]?, error: nserror?) -> void in if error == nil { // find succeeded. println("successfully retrieved \(objects!.count) scores.") // found objects if let objects = objects as? [pfobject] { object in objects { var songtitle = object.objectforkey("songtitle") as? string if songtitle != title { music["createdby"] = pfuser.currentuser() music["songtitle"] = title music["albumcover"] = imagefile music["songartist"] = artist music.saveinbackgroundwithblock { (success: bool, error: nserror?) -> void in if (success) { println("succeed") } else { // there problem, check error.description println("error jeh") } } }else{ println("song exist") } } } } else { // log details of failure println("error: \(error!) \(error!.userinfo!)") } } the code above give below result on log:
successfully retrieved 4 scores. song exist retrieved 4 scores. song exist retrieved 4 scores. song exist retrieved 4 scores. song exist succeed succeed succeed succeed succeed succeed succeed succeed succeed succeed succeed succeed
why loop , looping more objects.count? , how can prevent dupiclate entry on parse?
give me advice, doesn't matter in obj c or swift
i suggest implement simple beforesave trigger, on parse cloud code, in order check if new entry song exist (basically you're going make 1 or more field uniques. example:
parse.cloud.beforesave("musics", function(request, response) { var newentrysong = request.object; var querysongs = new parse.query("musics"); querysongs.equalto("title", newentrysong.get("title")); querysongs.equalto("description", newentrysong.get("description")); // sort of signature song, make more unique (skipping spaces , new lines example) querysongs.equalto("md5title", newentrysong.get("md5title")); querysongs.first({ success: function(temp) { response.error({errorcode:123,errormsg:"song exist!"}); }, error: function(error) { response.success(); } }); }); hope helps.
Comments
Post a Comment