现有Tom、Jack、Jie、Juliy、Anma5名学生和Java、BigData、Math、Python4门课程,同时学生年龄在15~21岁之间,需要根据这3项信息进行随机组合搭配,生成20条数据插入grade集合中,并查询选修课程“BigData”的学生信息
时间: 2023-07-04 14:13:34 浏览: 184
可以使用Java中的MongoDB驱动程序来实现此操作。以下是示例代码:
```java
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import java.util.Arrays;
import java.util.List;
import java.util.Random;
public class Main {
public static void main(String[] args) {
// 连接本地MongoDB实例
MongoClient mongoClient = new MongoClient("localhost", 27017);
// 获取名为“test”的数据库
MongoDatabase database = mongoClient.getDatabase("test");
// 获取名为“grade”的集合
MongoCollection<Document> collection = database.getCollection("grade");
// 创建学生和课程列表
List<String> students = Arrays.asList("Tom", "Jack", "Jie", "Juliy", "Anma");
List<String> courses = Arrays.asList("Java", "BigData", "Math", "Python");
// 随机生成20条学生选课数据
Random random = new Random();
for (int i = 0; i < 20; i++) {
String student = students.get(random.nextInt(students.size()));
String course = courses.get(random.nextInt(courses.size()));
int age = random.nextInt(7) + 15; // 年龄在15~21岁之间
Document document = new Document("student", student)
.append("course", course)
.append("age", age);
collection.insertOne(document);
}
// 查询选修课程为“BigData”的学生信息
Document query = new Document("course", "BigData");
for (Document document : collection.find(query)) {
System.out.println(document.toJson());
}
// 关闭MongoDB客户端连接
mongoClient.close();
}
}
```
运行以上代码后,会随机生成20条学生选课数据,并查询选修课程为“BigData”的学生信息。
阅读全文