我拥有需要唯一的PFUser
对象的属性。
例如,默认电子邮件字段是唯一的,并在未满足条件时引发带有警报的异常。
如何将此字段设置为唯一?
答案 0 :(得分:4)
为了澄清,解析在User模型上强制执行电子邮件唯一性,但是您希望在其他某个字段上强制执行唯一性,比如像employeeId这样的组合。
要在客户端执行此操作,请先执行查询以确保满足条件:
NSString *employeeId = @"hopefully this is unique";
PFQuery *query = [PFUser query];
[query whereKey:@"employeeId" equalTo:employeeId];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (objects.count) {
NSLog(@"shucks, the employeeId isn't unique");
} else {
PFUser *user = [PFUser user];
user.employeeId = employeeId;
// setup the rest of user
[user signUpInBackgroundWithBlock:(BOOL success, NSError *error) {
if (success) NSLog(@"yay! new user);
}];
}
}];
要在服务器端执行此操作,可能可以在用户模型的beforeSave
挂钩中执行基本相同的操作。
Parse.Cloud.beforeSave(Parse.User, function(request, response) {});