现有Tom、Jack、Jie、Juliy、Anma5名学生和Java、BigData、Math、Python4门课程,同时学生年龄在15~21岁之间,需要根据这3项信息进行随机组合搭配,生成20条数据插入grade集合中,并查询选修课程“BigData”的学生信息。
时间: 2023-07-04 07:14:47 浏览: 149
基于Java的学生管理系统,旨在提供学生信息的管理和查询功能
好的,我可以帮你解决这个问题。首先,我们可以使用Python中的random模块来实现随机生成学生信息。
具体实现步骤如下:
1. 定义学生名字和课程名称的列表:
```
students = ['Tom', 'Jack', 'Jie', 'Juliy', 'Anma']
courses = ['Java', 'BigData', 'Math', 'Python']
```
2. 定义生成随机年龄的函数:
```
import random
def generate_age():
return random.randint(15, 21)
```
3. 生成20条学生信息,并将其插入到grade集合中:
```
from pymongo import MongoClient
client = MongoClient()
db = client['test']
grade = db['grade']
for i in range(20):
student = random.choice(students)
course = random.choice(courses)
age = generate_age()
grade.insert_one({'student': student, 'course': course, 'age': age})
```
4. 查询选修课程为“BigData”的学生信息:
```
cursor = grade.find({'course': 'BigData'})
for document in cursor:
print(document)
```
完整代码如下:
```
import random
from pymongo import MongoClient
students = ['Tom', 'Jack', 'Jie', 'Juliy', 'Anma']
courses = ['Java', 'BigData', 'Math', 'Python']
def generate_age():
return random.randint(15, 21)
client = MongoClient()
db = client['test']
grade = db['grade']
for i in range(20):
student = random.choice(students)
course = random.choice(courses)
age = generate_age()
grade.insert_one({'student': student, 'course': course, 'age': age})
cursor = grade.find({'course': 'BigData'})
for document in cursor:
print(document)
```
阅读全文