首页 > 解决方案 > mongodb 中是否有任何方法可以创建仅对数据库的特定视图具有“读取”访问权限的“用户”?

问题描述

我已经创建了一些我想提供给前端开发人员的 JSON 视图。我希望前端开发人员只能访问此视图。不是整个集合或数据库。此视图包含跨集合“$lookup”聚合。

我们如何创建具有只能访问“db”的“视图”甚至不能访问“集合”的角色的用户?

标签: mongodb

解决方案


MongoDB 中的权限基于角色。会是这样的:

const admin = db.getSiblingDB("admin")
admin.createRole({ role: "read_views", privileges: [], roles: [] }) 
admin.grantPrivilegesToRole("read_views", [
   { 
       resource: { db: "<database name>", collection: "<view name>" }, 
       actions: ["find"] 
   }
]) 

推荐阅读