命令聚合未授权 运行

Command aggregate not authorized to run

MongoDb 权限有一个奇怪的问题,我的用户成功访问了大多数集合中的数据,并且在数据库中具有 dbAdminreadWrite 角色,但是当列出一个集合中的文档时我得到:

Command aggregate failed: not authorized on DB to execute command { aggregate: "Customer", pipeline: [ { $limit: 250 }, { $group: { _id: 1, __result: { $sum: 1 } } } ], cursor: {} }

AFAIK readWrite 应该足够了,用户也是 dbAdmin

使用最新版本的 MongoDb 服务器和 C# 客户端。

这确实是一个权限问题,虽然用户权限很好并且用户可以执行所有命令,但实际上使用了用户的凭据。

问题出在我的 IoC/DI 容器上,在某些情况下,它没有填写 MongoClient 对象上的凭据,因此命令失败(因为这只发生在一个控制器操作中,所以问题有点难调试)。