`
baorui945
  • 浏览: 7289 次
社区版块
存档分类
最新评论

MongoDB操作

    博客分类:
  • tips
 
阅读更多
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;

public class MongoOptUtil {
	//统计多个集合中的文档总数
	public static int countMultiCollection(ArrayList<String> collectionName , DB db ){
		int total = 0;
		ArrayList<String> collectionName1 = collectionName;
		collectionName1.size();
		System.out.println("The collections count: "+collectionName1.size());
		for (int i = 0; i < collectionName1.size(); i++) {
			DBCollection users = db.getCollection(collectionName1.get(i));
			System.out.println(collectionName1.get(i));
			total = (int) (total + users.count());
		}
		System.out.println("The document total: "+total);
		return total;
	}
	//统计单个集合中的文档总数
	public static void countSimpleCollection(String collectionName , DB db){
		DBCollection users = db.getCollection(collectionName);
		DBCursor cur = users.find();
		while (cur.hasNext()) {
            System.out.println(cur.next());
        }
		System.out.println("count: " + users.count());
	}
	
	//查询单个集合中的GAS文档
	public static void findSimpleCollGAS(String collectionName , DB db, String queryCondition, String queryValue){
		DBCollection users = db.getCollection(collectionName);
		System.out.println(collectionName);
		System.out.println("The GAS result" + users.find(new BasicDBObject(queryCondition, queryValue)).toArray());
	}
	
	//查询多个集合中的GAS文档
	public static void findMultiCollGAS(ArrayList<String> collectionName , DB db, String queryCondition, String queryValue){
		ArrayList<String> collectionName1 = collectionName;
		List<DBObject> test;
		int i = 0;
		boolean fag = false;
		while (i < collectionName1.size()&& fag == false ) {
			DBCollection users = db.getCollection(collectionName1.get(i));
//			System.out.println(collectionName);
			test = users.find(new BasicDBObject(queryCondition, queryValue)).toArray();
//			System.out.println("the result quantity : "+test.size());
			if (test.size()==1) {
				System.out.println("the collection name : "+collectionName.get(i));
				System.out.println("the result content : " +users.find(new BasicDBObject(queryCondition, queryValue)).toArray());
				fag = true;
			}
			i ++;
		}
	}
	//查询满足条件的gas记录,并写入本地文件
	public static Boolean findAllCollGAS(String collectionName , DB db, String queryCondition, String queryValue) throws IOException{
		DBCollection users = db.getCollection(collectionName);
		List<DBObject> test;
		String content = null ;
		test = users.find(new BasicDBObject(queryCondition, queryValue)).toArray();
		boolean fag = false;
		if (test.size()==1) {
			System.out.println(collectionName+ "  --  Found !  --  ");
			System.out.println("  ----  Success  ----  ");
			fag = true;
			content = users.find(new BasicDBObject(queryCondition, queryValue)).toArray().toString();
		}
		if (fag) {
			String SaveAddr = "D:\\" ;
			String Failname =  "MongoDB_tmp_Score.txt" ;
			MongoDateIO TMP = new MongoDateIO();
			TMP.FileWrite(content, SaveAddr, Failname) ;
			TMP.FileResultQuery(SaveAddr+Failname, "\"score\"") ;
			return true;
		}
		else {
			System.out.println("  --  NotFound !!  --  " );
			System.out.println("  ----  Error  ----  ");
			return false;
		}
		
	}	
	
}

要点:
1  Mongo中的查询操作
2  MutilDocuments中的查询
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics