package cn.com.cennavi.northis.test;
import java.util.ArrayList;
import java.util.List;
import org.bson.Document;
import com.mongodb.BasicDBObject;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import cn.com.cennavi.northis.mongo.MongoJDBC;
public class MongoAPI {
static MongoDatabase mongo = null;
static {
mongo = MongoJDBC.getMongo("111.111.11.11", 25017, "tt");
}
/**
* 新增
* @param document
* @param collectionName
* @return
*/
public static boolean insertOne(Document document, String collectionName) {
boolean flag = true;
try {
MongoCollection<Document> collection = mongo.getCollection(collectionName);
System.out.println("���� " + collectionName + " ѡ��ɹ�");
collection.insertOne(document);
System.out.println("�ĵ�����ɹ�");
} catch (Exception e) {
flag = false;
}
return flag;
}
/**
*
* @param documents
* @param collectionName
* @return
*/
public static boolean insertMany(List<Document> documents, String collectionName) {
boolean flag = true;
try {
MongoCollection<Document> collection = mongo.getCollection(collectionName);
System.out.println("���� " + collectionName + " ѡ��ɹ�");
collection.insertMany(documents);
System.out.println("�ĵ�����ɹ�");
} catch (Exception e) {
flag = false;
System.out.println("保存失败!");
}
return flag;
}
/**
*
* @param collectionName
* @return
*/
public static List<Document> queryAll(String collectionName) {
List<Document> documents = new ArrayList<Document>();
MongoCollection<Document> collection = mongo.getCollection(collectionName);
FindIterable<Document> findIterable = collection.find();
MongoCursor<Document> mongoCursor = findIterable.iterator();
while (mongoCursor.hasNext()) {
documents.add(mongoCursor.next());
}
return documents;
}
public static List<Document> query(String collectionName,BasicDBObject bson) {
List<Document> documents = new ArrayList<Document>();
MongoCollection<Document> collection = mongo.getCollection(collectionName);
FindIterable<Document> findIterable = collection.find(bson);
MongoCursor<Document> mongoCursor = findIterable.iterator();
while (mongoCursor.hasNext()) {
documents.add(mongoCursor.next());
}
return documents;
}
/**
*
* @param collectionName
* @param fileName
* @param fileValue
* @return
*/
public static boolean delete(String collectionName, String fileName, String fileValue) {
boolean flag = true;
try {
MongoCollection<Document> collection = mongo.getCollection(collectionName);
System.out.println("���� test ѡ��ɹ�");
collection.deleteOne(Filters.eq(fileName, fileValue));
//collection.deleteMany (Filters.eq(fileName, fileValue));
} catch (Exception e) {
flag = false;
}
return flag;
}
public static void main(String[] args) {
//BasicDBObject bson = new BasicDBObject();
//bson.append("hour", "13");
//bson.append("rticid", "585751_3_413");
//List<Document> dcs = query("pollution_20170303",bson);
//System.out.println(dcs.size());
long time1 = System.currentTimeMillis();
System.out.println("----- 开始查询中 --------");
List<Document> dcs = queryAll("pollution_20170310");
long time2 = System.currentTimeMillis();
System.out.println("----- 查询结束 --------");
System.out.println(dcs.size() + " --- " + (time2-time1)/1000);
for(int i=0;i<dcs.size();i++){
Document d = dcs.get(i);
String s = "";
}
}
}