com.mongodb.MongoQueryException: Query failed with error code 13 and error message 'not authorized
时间: 2024-05-20 21:19:05 浏览: 197
这个错误消息表示你在尝试执行一个需要授权的 MongoDB 查询,但是你的当前用户没有足够的权限来执行该操作。你需要使用具有适当权限的用户身份来执行该操作。
首先,你可以检查你的 MongoDB 连接字符串,确保你正在使用具有适当权限的用户身份连接到数据库。然后,你可以检查你的 MongoDB 用户角色,确保它们具有执行该操作所需的适当权限。
如果你确定你的用户具有适当的权限,但仍然遇到此错误,请检查你的 MongoDB 实例是否启用了身份验证。如果没有启用身份验证,你需要在 MongoDB 配置中启用身份验证,然后重新启动 MongoDB 实例。
相关问题
org.springframework.data.mongodb.UncategorizedMongoDbException: Query failed with error code 2 with name 'BadValue' and error message 'Field 'locale' is invalid in: { locale: "comment" }' on server localhost:27017; nested exception is com.mongodb.MongoQueryException: Query failed with error code 2 with name 'BadValue' and error message 'Field 'locale' is invalid in: { locale: "comment" }' on server localhost:27017
这个异常是因为在你的MongoDB查询中,使用了一个名为"locale"的字段,而这个字段在MongoDB的保留字段列表中,所以无法使用。解决这个问题的方法是更改查询中的字段名,或者使用引号将该字段名包含起来,以避免与保留字段冲突。
例如,你可以将查询中的"locale"改为"commentLocale",或者将查询改为以下形式:
```
db.collection.find({ "locale": "comment" })
```
其中,"locale"被用引号括起来,以避免与保留字段冲突。
阅读全文