【发布时间】:2022-09-27 17:01:47
【问题描述】:
我目前正在开发一个 REST api(使用 mongoDb、node.js 和 express)来处理 4 种用户。
我决定使用一个集合来存储所有类型的用户(电子邮件、哈希、角色等)之间的公共数据,并使用 4 个集合来存储相应用户类型的配置文件数据。用户配置文件和用户之间将是一对一的关系。另外,请记住,用户将在其他集合中被引用(主要用于用户配置文件数据)。
我想知道构建路由和端点的最佳方法是什么。我应该为每种用户类型(比如说/students、/proffessors 等等)设置一个单独的路由,还是只有一个端点(/users)来处理所有与用户相关的请求。
例如,如果我想做与用户配置文件相关的请求(GET、PATCH 等),我应该使用/users/{userId}/profile 还是/students/{studentId}。
对于像 /users/{userId}/profile/proffessors 这样的请求,我猜第二个选项 (/students/{studentId}/professors) 可以更好地避免超长的 URI(因为 userId 可能会变得很长)。
最后一个与此数据模型相关的问题:就像我说的,我将引用其他集合中的用户来获取用户配置文件数据。我应该参考用户还是只参考用户个人资料,以避免加入 3 个集合?
请记住,我对网络开发很陌生,并且正在努力学习。非常感谢 :)
标签: mongodb api rest express data-modeling