从 swift 迭代中添加时如何保持解析服务器条目的唯一性?
How to keep parse-server entries unique when added from swift iteration?
我正在编写一个应用程序,该应用程序将在单击按钮时更新数据库(解析服务器,托管在 heroku 上)中的条目。它节省了两件事;用户的对象 ID(每个用户唯一)和对象(用户点击的东西)的对象 ID(每个对象唯一)。大致是这样的:
@IBAction func goButton(_ sender: AnyObject) {
let goingSelection = PFObject(className: "GoingTo")
goingSelection["userGoingID"] = (PFUser.current()?.objectId)! as String
goingSelection["objectID"] = objectIDLabel.text
goingToEventSelection.saveInBackground()
}
将数据添加到数据库时效果很好。但是,对于相同的 userId/objectId 配对,它可以多次执行此操作(因为它是作为新对象 t 添加的(两个 t 用于区分)),并且此对象 t 具有自己唯一的 objecttId。因此,相同的 userId/objectId 会在每次点击时保存到不同的 objecttId。我希望数据库添加对于 userId/objectId 配对是唯一的。有办法吗?
您必须在 GoingTo
class 上的 beforeSave 挂钩中自行处理此验证服务器端,例如:
Parse.Cloud.beforeSave("GoingTo", function(request, response)
{
var goingTo = request.object
// Create a query matching object you are trying to create
var alreadyExistingQuery = Parse.Query...
alreadyExistingQuery.equalTo ...
return alreadyExistingQuery.first().then(function(alreadyExistingObject){
if(alreadyExistingObject == null)
response.success()
else
response.error("This object already exists")
})
});
(可能有错别字,从头开始写)
我正在编写一个应用程序,该应用程序将在单击按钮时更新数据库(解析服务器,托管在 heroku 上)中的条目。它节省了两件事;用户的对象 ID(每个用户唯一)和对象(用户点击的东西)的对象 ID(每个对象唯一)。大致是这样的:
@IBAction func goButton(_ sender: AnyObject) {
let goingSelection = PFObject(className: "GoingTo")
goingSelection["userGoingID"] = (PFUser.current()?.objectId)! as String
goingSelection["objectID"] = objectIDLabel.text
goingToEventSelection.saveInBackground()
}
将数据添加到数据库时效果很好。但是,对于相同的 userId/objectId 配对,它可以多次执行此操作(因为它是作为新对象 t 添加的(两个 t 用于区分)),并且此对象 t 具有自己唯一的 objecttId。因此,相同的 userId/objectId 会在每次点击时保存到不同的 objecttId。我希望数据库添加对于 userId/objectId 配对是唯一的。有办法吗?
您必须在 GoingTo
class 上的 beforeSave 挂钩中自行处理此验证服务器端,例如:
Parse.Cloud.beforeSave("GoingTo", function(request, response)
{
var goingTo = request.object
// Create a query matching object you are trying to create
var alreadyExistingQuery = Parse.Query...
alreadyExistingQuery.equalTo ...
return alreadyExistingQuery.first().then(function(alreadyExistingObject){
if(alreadyExistingObject == null)
response.success()
else
response.error("This object already exists")
})
});
(可能有错别字,从头开始写)