您的位置:首页 > 新闻 > 会展 > 湖州网络推广竞价_浙江宁波疫情最新消息_向日葵seo_淄博搜索引擎优化

湖州网络推广竞价_浙江宁波疫情最新消息_向日葵seo_淄博搜索引擎优化

2025/2/25 4:42:39 来源:https://blog.csdn.net/u013569304/article/details/80241353  浏览:    关键词:湖州网络推广竞价_浙江宁波疫情最新消息_向日葵seo_淄博搜索引擎优化
湖州网络推广竞价_浙江宁波疫情最新消息_向日葵seo_淄博搜索引擎优化
package cdc.personalTool;

import cdc.DBHelper;
import cdc.ProgramI;
import cdc.SubmissionBase;
import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.MongoException;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import com.mongodb.client.model.UpdateOptions;
import org.bson.Document;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;

public class MongoDBHelper implements DBHelper {private ProgramI program;
    private Document contestDoc;
    private List problemList;
    public MongoDBHelper(ProgramI p){program=p;
        Logger log = Logger.getLogger("org.mongodb.driver");
        log.setLevel(Level.OFF);
    }public boolean isHaveProblemNotCheck(){if(problemList.size()>0)return true;
        return false;
    }public void prepareData() {try {MongoClient mongoClient = new MongoClient("localhost", 27017);
            MongoDatabase mongoDB = (mongoClient).getDatabase("testlhf");

            MongoCollection<Document> dbCollection_SDUTOJ = mongoDB.getCollection("SDUTOJ");
            contestDoc = dbCollection_SDUTOJ.find(Filters.eq("contest_id", String.valueOf(this.program.getCid()))).first();

            //System.out.println("contest_id: " + contest_doc.get("problem"));
            problemList = ( List<Document>) contestDoc.get("problem");//TODO 查新所有时可以用array
            dbCollection_SDUTOJ=null;
            mongoDB=null;
            mongoClient.close();

        } catch (MongoException e) {e.printStackTrace();
        }}public Vector<SubmissionBase> getSubmissionListAndRemove() {Document problemDoc = (Document) problemList.get(0);
        problemList.remove(0);
        ArrayList<Document> mongoSubmitList = (ArrayList<Document>) problemDoc.get("all_submit_record");
        Iterator<Document>iter=mongoSubmitList.iterator();
        Vector<SubmissionBase> submissions=new Vector<SubmissionBase>();
        while(iter.hasNext()){Document tmp=iter.next();
            int cid = Integer.parseInt(tmp.get("cid").toString());
            int pid = Integer.parseInt(tmp.get("pid").toString());
            int runid=Integer.parseInt(tmp.get("runid").toString());
            String name = tmp.get("username").toString()+"_Runid_"
                    +String.valueOf(runid);
            String code=tmp.get ("code").toString();
            submissions.addElement(new SubmissionBase(cid,pid,runid,name,code));
        }return submissions;
    }/**
     * @param doc
     *  {cid:?, pid:?, comparisonPairs:? }
     */
    public void writeDocument(Document doc) {int cid= Integer.parseInt(doc.get("cid").toString());
        try{MongoClient mongoClient = new MongoClient("localhost", 27017);
            MongoDatabase mongoDB = (mongoClient).getDatabase("testlhf");
            MongoCollection<Document> dbCollection_SSGSTANS = mongoDB.getCollection("SDUTOJ");

            BasicDBObject filterCid=new BasicDBObject("cid",cid);
            BasicDBObject update = new BasicDBObject("$push",new BasicDBObject("problem",doc));
            dbCollection_SSGSTANS.updateOne(filterCid,update,new UpdateOptions().upsert(true));
        }catch (Exception e){e.printStackTrace();
        }}public static void main(String[] args){Document tmp=new Document("11",666666);
        tmp.append("cid",233);
        MongoDBHelper mongoDBHelper =new MongoDBHelper(null);
        mongoDBHelper.writeDocument(tmp);
    }
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com