|
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.HashMap;
import org.bson.BSONObject;
import org.bson.BasicBSONObject;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.MongoClient;
public class Week3Homework1 {
public static void main(String[] args) throws UnknownHostException {
MongoClient client = new MongoClient();
DB database = client.getDB("school");
DBCollection collection = database.getCollection("students");
DBObject query = new BasicDBObject("scores.type","homework");
DBCursor cursor = collection.find(query)
.sort(new BasicDBObject("_id",1));
ArrayList homeworks= new ArrayList();
float hw1stScore = 0;
float hw2edScore = 0;
float hwMaxScore = 0;
int index = 0;
BasicDBObject newScroes = new BasicDBObject();
while(cursor.hasNext()){
BasicDBObject cur = (BasicDBObject)cursor.next();
@SuppressWarnings("unchecked")
ArrayList scores=(ArrayList)cur.get("scores");
if(!homeworks.isEmpty()){
homeworks.clear();
}
for(BasicDBObject types:scores){
String type_name = types.getString("type");
if(type_name.equals("homework")){
homeworks.add(types.getString("score"));
}
}
hw1stScore = Float.parseFloat(homeworks.get(0));
hw2edScore = Float.parseFloat(homeworks.get(1));
if (hw1stScore > hw2edScore){
hwMaxScore = hw1stScore;
index = 3;
}else {
hwMaxScore = hw2edScore;
index = 2;
}
scores.remove(index);
collection.update(new BasicDBObject("_id", cur.get("_id")),
new BasicDBObject("$set", new BasicDBObject("scores", scores)));
System.out.println(cur);
// System.out.println("Student_name: " + cur.getString("name"));
// System.out.println("Student_id: " + cur.getString("_id"));
// System.out.println("Homework First Score:"+ hw1stScore);
// System.out.println("Homework Second Score:"+ hw2edScore);
// System.out.println("Highest Homework Score: " + hwMaxScore);
System.out.println("=======");
}
}
}
|
|