Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何防止用户在mongodb中看到集合中的所有数据?_Mongodb_Express - Fatal编程技术网

如何防止用户在mongodb中看到集合中的所有数据?

如何防止用户在mongodb中看到集合中的所有数据?,mongodb,express,Mongodb,Express,我正在编写一个有不同用户的应用程序 假设我有两个角色为“医生”的用户,这些医生每个都有一个病人。两名患者的个人数据都包含在“数据”集合中,只能由各自的医生查看 所以我有两个系列: 用户:包含4个用户。2个角色为“医生”,2个角色为“患者” 数据:包含2名患者的个人数据,只能由患者的医生访问 我如何在mongodb中实现这一点,而不必每次查询数据收集(包括我患者的个人数据)以检查它是否是我医生的患者 我正在使用expressJs作为webapi与我的mongodb对话。根据API的结构方式,可

我正在编写一个有不同用户的应用程序

假设我有两个角色为“医生”的用户,这些医生每个都有一个病人。两名患者的个人数据都包含在“数据”集合中,只能由各自的医生查看

所以我有两个系列:

  • 用户:包含4个用户。2个角色为“医生”,2个角色为“患者”
  • 数据:包含2名患者的个人数据,只能由患者的医生访问
我如何在mongodb中实现这一点,而不必每次查询数据收集(包括我患者的个人数据)以检查它是否是我医生的患者


我正在使用expressJs作为webapi与我的mongodb对话。

根据API的结构方式,可以安装类似的模块。根据每个用户角色(医生/患者),您可以限制对某些资源的访问

我在我的应用程序中使用了这个模块,其中一个用户可以拥有admin/user角色,即使是维护,它也非常简单

关于“只有相应的医生才能访问其自己的患者数据”部分,您必须使用路由中间件来检查该医生是否可以访问该患者的数据(这将是mongodb查询)