我正在开发一个使用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天,提前感谢。
2条答案
按热度按时间pkwftd7m1#
@GrandSirr -你有没有试过设置“用户可以读写所有数据”权限模板(至少对于开发来说)?
另外,您实际的“用户”收藏是什么?用户自定义数据应该是一个单独的集合,因为用户自定义数据的大小是有限的。
我的流程-使用电子邮件密码登录用户-设置数据库触发器以创建具有相关字段的新用户文档,用户可以稍后在应用程序的“配置文件设置”页面中填写这些字段,以及另一个触发器以在单独的用户自定义数据集合中创建文档,以保存某些权限角色或订阅通知等。
y0u0uwnf2#
我和你有同样的问题。这是在monggo db日志获取错误
但我使用Next.js来处理这样的代码
字符串
我通过更改数据规则修复了错误,如