【发布时间】:2017-10-10 12:02:12
【问题描述】:
我的 Parse Server 有一个名为“BooksAddedByUser”的类,它有 3 列:
- objectId
- user - 包含 PFUser.current() 的用户名
- ISBNArray - 用户添加的图书的 ISBN
我想将新添加的bookNumber 添加到 ISBNArray 中,前提是它尚不存在于该数组中。但是,每当我在下面运行我的代码时,它都会在“BooksAddedByUser”类中创建具有相同用户名的新 objectIds。它也不检查 bookNumber 是否已经存在。老实说,我不确定发生了什么。
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!")
}
}
使用新代码编辑:
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!")
}
}
【问题讨论】:
标签: ios swift parse-platform swift3