首页>代码>运用NoSQL数据库的学生成绩管理系统,采用Java Swing>/Student_MongoDB/src/com/student/MainStudent.java
package com.student;

import java.awt.List;
import java.net.CookieHandler;
import java.util.Arrays;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;

import javax.print.Doc;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;

import org.bson.Document;

import com.mongodb.AggregationOutput;
import com.mongodb.BasicDBObject;
import com.mongodb.Block;
import com.mongodb.CommandResult;
import com.mongodb.MongoClient;
import com.mongodb.client.AggregateIterable;
import com.mongodb.client.DistinctIterable;
import com.mongodb.client.ListIndexesIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.IndexOptions;
import static com.mongodb.client.model.Filters.*;
import static com.mongodb.client.model.Accumulators.*;
import static com.mongodb.client.model.Aggregates.*;
import static com.mongodb.client.model.Filters.eq;


public class MainStudent {

	public static void main(String[] args) {
		
		//创建连接的客户端
		MongoClient client = new MongoClient("localhost",27017);
		//获取数据库对象
		MongoDatabase db = client.getDatabase("DBJava");
		//获取操作的集合对象
		MongoCollection<Document> collection = db.getCollection("java_test");
		
		System.out.println("Connection Sucessfully!");	
		
		//创建唯一索引
		collection.createIndex(new Document("no",1),new IndexOptions().unique(true));	
		collection.createIndex(new Document("name",1));//创建普通索引
		//collection.dropIndex(new Document("no",1));//删除索引
		
		//显示所有索引
		ListIndexesIterable<Document> list = collection.listIndexes();
		for (Document document : list) {
		    System.out.println(document.toJson());
		}
		
		new Stu_List().SearchAll(collection);
		
	}
	
	
}
//聚合操作
//match(eq("academy","计算机")),
//显示每个学院的参赛人数
/*AggregateIterable<Document> iterable = collection.aggregate(Arrays.asList(group("$academy", sum("参赛人数:",1))));
printResult("", iterable);
//每个学院平均分
AggregateIterable<Document> iterable = collection.aggregate(Arrays.asList(group("$academy", avg("avg:","$grade"))));
printResult("", iterable);
//每个学院的最高分
AggregateIterable<Document> iterable = collection.aggregate(Arrays.asList(group("$academy", max("max:","$grade"))));
printResult("", iterable);
//每个学院的最低分
AggregateIterable<Document> iterable = collection.aggregate(Arrays.asList(group("$academy", min("max:","$grade"))));
printResult("", iterable);
AggregateIterable<Document> iterable = collection.aggregate(Arrays.asList(match(eq("name","liu")),group("$no", sum("max:","$grade"))));
printResult("", iterable);

DistinctIterable<String> di = collection.distinct("academy", String.class);
di.forEach(new Block<String>() {
	public void apply(final String str) {
		System.out.println(str);
	}
});
AggregateIterable<Document> iterable = collection.aggregate(Arrays.asList(group("$academy",
		sum("参赛人数:",1), max("max:","$grade"),min("min:","$grade"),avg("avg:","$grade"))));
printResult("", iterable);
//打印聚合结果
public static void printResult(String doing, AggregateIterable<Document> iterable) {
System.out.println(doing);
iterable.forEach(new Block<Document>() {
    public void apply(final Document document) {
        System.out.println(document);
    }
});
System.out.println("------------------------------------------------------");
System.out.println();
}*/
最近下载更多
husiyu  LV3 2023年9月7日
1362440352  LV1 2022年11月27日
asdfasfsf  LV1 2022年6月15日
testuser1234567  LV24 2022年5月31日
syj991023  LV2 2022年5月13日
wyx065747  LV67 2022年5月7日
wanglinddad  LV55 2022年4月2日
zydandzjf  LV3 2022年1月6日
希雨逍遥  LV6 2021年6月22日
xerxes_xxi  LV1 2021年6月17日
最近浏览更多
lysnb3  LV1 7月2日
yqlllll  LV2 6月4日
heshao  LV2 6月4日
hfffff  LV1 6月3日
sunrandong  LV4 4月29日
xinnnnn  LV1 2月26日
颜伟峰  LV1 2023年12月20日
sunshine9920  LV12 2023年10月19日
husiyu  LV3 2023年9月7日
卢本伟不开挂  LV4 2023年9月3日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友