网页端通过Atlas Realm连接MongoDB:DSN查找及API密钥403问题求助
Atlas Realm网页端连接MongoDB的问题解决
一、DATA_SOURCE_NAME 到底是什么
- 这是你在Realm控制台配置的集群数据源名称,默认关联Atlas集群时,名称是
mongodb-atlas。 - 直接去Realm控制台的Data Services > Data Sources页面就能看到每个数据源的名称,按实际名称替换即可。
- 替换后的示例代码:
const mongo = app.currentUser.mongoClient("mongodb-atlas");
二、创建API Key返回403错误的修复
403是权限不足导致的,按以下步骤排查:
- 检查用户角色权限:
去Realm控制台的Authentication > Roles,找到当前用户所属的角色,必须给它加上API Keys > Manage权限(包含创建、读写API Key的权限)。 - 确认用户已登录:
执行user.apiKeys.create之前,必须确保用户已经完成合法登录(比如邮箱密码、OAuth登录),未登录用户没有创建API Key的权限。 - 规范API Key名称:
名称避免使用特殊字符,尽量用字母、数字或下划线,防止因格式不符合规则触发隐性错误。 - 手动创建API Key兜底:
如果代码创建仍有问题,直接去Realm控制台的Authentication > API Keys页面手动创建,复制生成的Key值即可用于DSN连接。
三、DSN连接的注意点
- DSN中的
appName格式为你的Realm应用ID:mongodb-atlas:api-key,应用ID可在Realm控制台的应用设置页面找到。 - 使用API Key连接时,要确保该Key处于启用状态且未被撤销。
内容的提问来源于stack exchange,提问作者Michael Lorton
相关产品推荐
相关产品推荐

