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

Popular posts from this blog

javascript - Google App Script ContentService downloadAsFile not working -

javascript - Function overwritting -

php - Find a regex to take part of Email -