介绍
你被聘为一所大学的「优秀学生名单」(Honor Roll)数据库管理员。该大学根据平均学分绩点(GPA)来追踪表现优异的学生。你的任务是将学生数据录入数据库,并识别出符合优秀学生标准的人员(定义为 GPA 大于 3.7 的学生)。你需要将这些高成就学生存储在一个名为 honor_roll 的独立集合中。
本次挑战将测试你插入数据、查询特定记录以及根据查询结果创建新集合的能力。
填充并查询优秀学生数据库
你将把学生数据插入到 students 集合中,并查询表现优异的学生以填充 honor_roll 集合。
任务
- 将以下学生记录插入到
students集合中:
[
{ "name": "Anna Lee", "age": 19, "major": "Mathematics", "gpa": 3.9 },
{ "name": "Sam Green", "age": 21, "major": "History", "gpa": 3.4 },
{ "name": "Chris Black", "age": 20, "major": "Physics", "gpa": 3.8 },
{ "name": "Jamie White", "age": 22, "major": "Literature", "gpa": 3.5 }
]
- 在
students集合中查询gpa大于 3.7 的学生。 - 将查询结果保存到名为
honor_roll的新集合中。
要求
- 仅在
university数据库中进行操作。 honor_roll集合应仅包含 GPA 大于 3.7 的学生。students集合应保持完整,保留所有记录。
提示
- 使用
const存储查询结果可以方便你后续引用这些数据。 .toArray()方法对于将查询结果转换为数组以便进一步处理非常有用。
示例
完成任务后,honor_roll 集合应包含:
[
{ "_id": ObjectId("..."), "name": "Anna Lee", "age": 19, "major": "Mathematics", "gpa": 3.9 },
{ "_id": ObjectId("..."), "name": "Chris Black", "age": 20, "major": "Physics", "gpa": 3.8 }
]
而 students 集合仍应包含全部四条记录:
[
{ "_id": ObjectId("..."), "name": "Anna Lee", "age": 19, "major": "Mathematics", "gpa": 3.9 },
{ "_id": ObjectId("..."), "name": "Sam Green", "age": 21, "major": "History", "gpa": 3.4 },
{ "_id": ObjectId("..."), "name": "Chris Black", "age": 20, "major": "Physics", "gpa": 3.8 },
{ "_id": ObjectId("..."), "name": "Jamie White", "age": 22, "major": "Literature", "gpa": 3.5 }
]
总结
在本次挑战中,你担任了大学数据库管理员的角色,负责识别优秀学生名单。你成功地将学生数据插入到 students 集合中,查询了 GPA 大于 3.7 的高成就学生,并将这些结果存储在新的 honor_roll 集合中。通过这次实践练习,你加深了对 MongoDB 插入、查询和有效管理集合等命令的理解。

