我正在用Swift和Realm数据库开发一个移动应用程序。
我配置了Realm Device Sync,并尝试将custom user data添加到我创建的集群中。
尽管我看了许多关于realm permissions的教程,但我仍然不知道应用程序中的权限有什么问题。
下面是我用来添加Custom User Data的身份验证函数
func login() {
isLoading = true
errorMessage = nil
let credentials = Credentials.emailPassword(email: username, password: password)
DispatchQueue.main.async {
app.login(credentials: credentials) { [weak self] result in
switch (result) {
case .failure(let error):
print(String(describing: error))
self?.errorMessage = error.localizedDescription
case .success(let user):
if user.customData.isEmpty {
let client = user.mongoClient("mongodb-atlas")
let database = client.database(named: "UserAPI")
let collection = database.collection(withName: "Users")
// Insert the custom user data object
let customUserData: Document = [
"_id": AnyBSON(user.id),
"email": .string(self!.email),
"province": .string(self!.province),
"_partition": .string(user.id)
]
collection.insertOne(customUserData) {result in
switch result {
case .failure(let error):
print("Failed to insert document: \(error.localizedDescription)")
case .success(let newObjectId):
print("Inserted custom user data document with object ID: \(newObjectId)")
}
}
}
}
self?.isLoading = false
}
}
}但是当我尝试创建一个新用户时,它成功地创建了一个用户。问题是,当涉及到添加Custom User Data时,它返回如下错误:
Failed to insert document: no rule exists for namespace 'UserAPI.Users'
当我检查MongoDB日志时,我可以看到更详细的错误:

我的Custom User Data设置:

我的应用程序权限:

任何帮助都是徒劳无功的,我为这个错误挣扎了3天,谢谢提前。
发布于 2022-08-14 13:42:49
@GrandSirr --您是否尝试过设置“用户可以读写所有数据”的权限模板(至少用于开发)?
另外,您的实际“用户”集合是什么?在我看来,用户自定义数据应该是一个单独的集合,因为用户自定义数据的大小是有限的。
我的流登录用户使用电子邮件密码集数据库触发器创建一个新的用户文档与相关字段,用户以后可以填写您的应用程序的‘配置文件设置’页面和另一个触发器创建一个文件在一个单独的用户自定义数据收集,以保存一些权限角色或通知订阅等。
https://stackoverflow.com/questions/72644212
复制相似问题