优秀学生名单追踪器

MongoDBBeginner
立即练习

介绍

你被聘为一所大学的「优秀学生名单」(Honor Roll)数据库管理员。该大学根据平均学分绩点(GPA)来追踪表现优异的学生。你的任务是将学生数据录入数据库,并识别出符合优秀学生标准的人员(定义为 GPA 大于 3.7 的学生)。你需要将这些高成就学生存储在一个名为 honor_roll 的独立集合中。

本次挑战将测试你插入数据、查询特定记录以及根据查询结果创建新集合的能力。

填充并查询优秀学生数据库

你将把学生数据插入到 students 集合中,并查询表现优异的学生以填充 honor_roll 集合。

任务

  1. 将以下学生记录插入到 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 }
]
  1. students 集合中查询 gpa 大于 3.7 的学生。
  2. 将查询结果保存到名为 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 插入、查询和有效管理集合等命令的理解。

✨ 查看解决方案并练习