import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import org.apache.commons.lang3.StringUtils;
import org.bson.BsonDocument;
import org.bson.Document;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class MongoClientTest {
private static MongoClient mongoClient = null;
private static MongoClient getMongoClinet(String host, Integer port) {
if (mongoClient==null) {
if (StringUtils.isEmpty(host) || port == null) {
mongoClient = new MongoClient("localhost", 27017);
} else {
mongoClient = new MongoClient(host, port);
}
}
return mongoClient;
}
public static void main(String[] args) {
MongoClientTest mongoTest = new MongoClientTest();
MongoCollection coll = mongoTest.getCollection("localhost",27017,"local","test");
mongoTest.insertOneDoc(coll);
mongoTest.inserManyDoc(coll);
mongoTest.updateDoc(coll);
mongoTest.deleteDoc(coll);
mongoTest.queryDocs(coll);
mongoTest.queryByName(coll);
mongoTest.queryProjection(coll);
mongoTest.queryGroupBy(coll);
mongoTest.queryPaging(coll);
mongoTest.close();
}
private MongoDatabase getMongoDB(String host, Integer port, String dbName) {
MongoClient mongoClient = getMongoClinet(host, port);
return mongoClient.getDatabase(dbName);
}
private MongoCollection<Document> getCollection(String host, Integer port, String dbName, String collectionName) {
MongoDatabase mongDB = getMongoDB(host, port, dbName);
return mongDB.getCollection(collectionName);
}
private void insertOneDoc(MongoCollection<Document> coll) {
Document doc = new Document();
doc.append("name", "lisi");
doc.append("age", 18);
coll.insertOne(doc);
}
private void inserManyDoc(MongoCollection<Document> coll) {
Document doc = new Document();
doc.append("name", "lisi");
doc.append("age", 31);
List list = new ArrayList<Document>();
list.add(doc);
Document doc2 = new Document();
doc2.append("name", "wangwu");
doc2.append("age",32);
list.add(doc2);
coll.insertMany(list);
}
private void updateDoc(MongoCollection<Document> coll) {
Document bson = Document.parse("{\"name\":\"zhangsan\"}");
Document newBson = Document.parse("{\"name\":\"tianqi\",\"age\":1,\"other\":\"null\"}");
coll.updateOne(Filters.eq("name", "zhangsan"), new Document(
"$set", new Document("name", "tianqi"))
);
}
private void deleteDoc(MongoCollection<Document> coll) {
coll.deleteOne(Filters.eq("name", "tianqi"));
}
private void queryDocs(MongoCollection<Document> coll) {
MongoCursor<Document> documet = coll.find().iterator();
while (documet.hasNext()){
System.out.println(documet.next());
}
}
private void queryByName(MongoCollection<Document> coll) {
BsonDocument bson = BsonDocument.parse("{\"name\":\"wangwu\"}");
BsonDocument bson2 = BsonDocument.parse("{\"age\":{$gte:10,$lte:20}}");
MongoCursor<Document> documet = coll.find(bson2).iterator();
while (documet.hasNext()){
System.out.println(documet.next());
}
}
private void queryProjection(MongoCollection<Document> coll) {
BsonDocument bson = BsonDocument.parse("{\"name\":\"wangwu\"}");
Document doc = new Document();
doc.append("name", 1);
doc.append("age", 1);
doc.append("_id", 0);
MongoCursor<Document> documet = coll.find(bson).projection(doc).iterator();
while (documet.hasNext()){
System.out.println(documet.next());
}
}
private void queryGroupBy(MongoCollection<Document> coll) {
List aggregateList = new LinkedList();
Document doc = new Document();
doc.append("$match", BasicDBObject.parse("{age:{ $gte:10, $lte:20}}"));
aggregateList.add(doc);
doc = new Document();
doc.append("$group", BasicDBObject.parse("{_id:null, count:{ $sum:1}}"));
aggregateList.add(doc);
MongoCursor<Document> documet = coll.aggregate(aggregateList).iterator();
while (documet.hasNext()){
System.out.println(documet.next());
}
}
private void queryPaging(MongoCollection<Document> coll) {
MongoCursor<Document> documet = coll.find().limit(3).skip(2*3).iterator();
while (documet.hasNext()){
System.out.println(documet.next());
}
}
private void close() {
mongoClient.close();
}
}
import com.mongodb.MongoClient;
import com.mongodb.ServerAddress;
import java.util.LinkedList;
import java.util.List;
public class MongoClusterClientTest {
private static MongoClient mongoClient =null;
public static void main(String[] args) {
MongoClusterClientTest clusterClientTest = new MongoClusterClientTest();
MongoClient mongoClient = clusterClientTest.getMongoClient();
System.out.println(mongoClient.getReplicaSetStatus());
}
private MongoClient getMongoClient() {
List hosts = new LinkedList<ServerAddress>();
hosts.add(new ServerAddress("node01",27017));
hosts.add(new ServerAddress("node02",27017));
hosts.add(new ServerAddress("node03",27017));
if (mongoClient==null) {
mongoClient = new MongoClient(hosts);
}
return mongoClient;
}
private void close() {
mongoClient.close();
}
}