Mon Parse serveur a une classe appelée "BooksAddedByUser", qui dispose de 3 colonnes:Ajouter des valeurs uniques à mon tableau dans Parse Server (rapide 3)
- objectId
- utilisateur - contient le nom d'utilisateur de la PFUser .current()
- ISBNArray - ISBN des livres ajoutés par l'utilisateur
Je voudrais ajouter le nouveau ajouté bookNumber
dans le ISBNArray que si elle n'existe pas dans le tableau qui encore. Cependant, chaque fois que je lance mon code ci-dessous, il crée de nouveaux objectIds avec le même nom d'utilisateur dans la classe "BooksAddedByUser". Et il ne vérifie pas non plus si bookNumber existe déjà. Je ne suis pas sûr de ce qui se passe honnêtement.
let booksAddedByUser = PFObject(className: "BooksAddedByUser")
booksAddedByUser["user"] = PFUser.current()?.username
let query = PFQuery(className: "BooksAddedByUser")
query.whereKey("ISBNArray", contains: bookNumber)
query.findObjectsInBackground { (objects, error) in
if error != nil {
print(error)
} else {
print(self.bookNumber)
if let objects = objects {
for object in objects {
print("book is already added i think")
}
}
}
}
booksAddedByUser.addObjects(from: [bookNumber], forKey: "ISBNArray")
booksAddedByUser.saveInBackground { (success, error) in
if error != nil {
print("error saving new book")
} else {
print("new book saved!")
}
}
EDIT w/nouveau code:
let booksAddedByUser = PFObject(className: "BooksAddedByUser")
booksAddedByUser["user"] = PFUser.current()?.username
let query = PFQuery(className: "BooksAddedByUser")
query.findObjectsInBackground { (objects, error) in
if error != nil {
print(error)
} else {
print(self.bookNumber)
if let objects = objects {
if objects.contains(bookNumber) {
print("book exists")
}
}
}
}
booksAddedByUser.addObjects(from: [bookNumber], forKey: "ISBNArray")
booksAddedByUser.saveInBackground { (success, error) in
if error != nil {
print("error saving new book")
} else {
print("new book saved!")
}
}
Où dois-je placer ce code? Aussi, ai-je encore besoin de 'query.whereKey (" ISBNArray ", contient: bookNumber)'? Désolé, total noob ici – acoustickat
Il doit être vérifié avant d'insérer 'bookNumber' dans" ISBNArray ". Si vous insérez uniquement 'bookNumber' directement dans ISBNArray au lieu d'insérer un objet, alors juste si' arrObjects.contains ("bookNumber") {print ("Livre existe")} 'fera le travail. – Poles
J'ai une erreur qui dit "Impossible de convertir la valeur de type 'String' en type d'argument attendu 'PFObject'" – acoustickat