我正在设计一个新网站。在我开始编码之前,我学习了很多关于api和nosql数据库的知识(因为我习惯使用sql但我想尝试使用mongoDB)。
在mongoDB中,我会有一个用户'这样的文件:
{
firstname: 'xxxxxxx',
lastname: 'xxxxxxx',
projects: [
{
name: 'project xxxxxxx',
participants: [], // array of friends into this project
operations: [
{ title: 'Title OP xxxxxxx', contributors: [] },
{ title: 'Title OP xxxxxxx', contributors: [] },
{ title: 'Title OP xxxxxxx', contributors: [] }
]
}
]
}
我想知道两件事:
projects.participants
和projects.operations.contributors
应该引用其他用户吗?GET /users/:id_user
GET /users/:id_user/projects/:id_project
GET /users/:id_user/projects/:id_project/operations/:id_operation
users
开头吗?)如果您有更好的解决方案,我会很高兴知道。
由于
编辑1:我将使用Express在NodeJS上工作,我希望有一个REST API。
答案 0 :(得分:1)
是的, projects.participants 和 projects.operations.contributors 可以引用同一个集合中的其他文档。其中每个都应引用同一集合中的有效 _id 。
您能否详细说明您是如何创建API的?我的意思是你使用哪个框架作为访问mongoDB的包装器?可能那时我可以尝试提供更多帮助。
答案 1 :(得分:0)
用例:您希望公开3 API 1.访问所有用户。 (使用url暴露 - / getallusers) 2.访问项目的所有参与者。(使用url公开 - / getparticipantsbyproject) 3.访问操作中的所有贡献者。(使用url - / getcontributorsbyproject公开)。
您可以在名为 myapi 的文件中编写所有这些API并公开它们。
现在,您可以使用以下网址从浏览器调用这些API:
答案 2 :(得分:0)
仅限RESTful API。我提到了上面的3个URL,它们只是暴露不同功能的RESTful API。