Homework:实现查询所有用户预订记录的 API
背景
在一次与红叶的对话中,青叶决定为温泉旅馆的预订系统添加一个新功能 —— 让客人可以查询所有的预订记录。青叶认为,通过改进 API,温泉旅馆的工作人员可以更加方便地查看所有用户的预订信息。因此,她决定动手实现一个 API,返回数据库中所有用户的预订记录。你将帮助青叶完成这个功能。
开发要求
创建一个 GET 路由
/api/users
,返回数据库中所有用户的数据。数据应以 JSON 格式 返回,格式如下:
json[ { "name": "凉风青叶", "reservationDate": "2024-12-25" }, { "name": "饭岛结音", "reservationDate": "2024-12-26" } ]
1
2
3
4
5
6
7
8
9
10
获取所有用户数据:
- 使用 Mongoose 的
.find()
方法从 MongoDB 中获取所有用户的数据。
- 使用 Mongoose 的
数据库连接与模型:
- 数据库连接与模型设计可以参考本周的 Doc 和 Lab 内容,特别是如何连接到 MongoDB,如何定义用户数据模型。
测试方法:
- 使用 Postman 或 curl 发送 GET 请求到
/api/users
,查看返回的用户数据格式是否正确。
- 使用 Postman 或 curl 发送 GET 请求到
提示
在获取所有用户数据时,可以使用 Mongoose 的
.find()
方法,这个方法返回数据库中所有符合条件的文档。如果没有指定条件,则会返回所有用户的数据。
例如:javascriptUser.find({}, (err, users) => { if (err) { return res.status(500).send('获取用户数据失败'); } res.json(users); // 返回所有用户的数据 });
1
2
3
4
5
6你需要确保返回的数据格式符合要求,每个用户包含
name
和reservationDate
字段。如果数据库中没有用户数据,返回一个空数组
[]
。
思考题
- 如果用户信息有数十万条,会发生什么问题,该怎么解决?
- 如果系统需要存储更多信息(如电话号码、邮箱),如何修改模型设计?