1.先連接你的mongodb
看連接是否有問題,代碼
public class MongoDB2 {
private static MongoDatabase mongoDatabase = null;
private static int port = 27017;
private static String userName = "XX";
private static String password="XX" ;
private static String database = "gatp";
private static String host="XXX";
/**
* mongo db 連接
*
*
*/
public void mongoConnect() {
try {
// host和port進行轉換
encryptionDecryption decryption = new encryptionDecryption();
ServerAddress serverAddress = new ServerAddress(host, port);
List<ServerAddress> addresses = new ArrayList<ServerAddress>();
addresses.add(serverAddress);
MongoCredential credential = MongoCredential.createCredential(userName,database, password.toCharArray());
List<MongoCredential> credentials = new ArrayList<MongoCredential>();
credentials.add(credential);
// 通過連接認證獲取MongoDB連接
MongoClient mongoClient = new MongoClient(addresses, credentials);
mongoDatabase = mongoClient.getDatabase(database);
Log.logInfo(mongoDatabase);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
public static void main(String[] args) {
MongoDB2 db=new MongoDB2();
db.mongoConnect(); //確認連接正確
}
連接成功后會顯示mogodb的id,錯誤會顯示認證失敗
連接失敗的案例

成功會顯示

2.對mogodb進行數據的插入
封裝的方法insertCollection,插入可數字,字符串,
public boolean insertCollection(String collectionName, List<Document> documents) {
boolean insertResult = false;
try {
MongoCollection<Document> collection = mongoDatabase.getCollection(collectionName);
collection.insertMany(documents);
insertResult = true;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return insertResult;
}
public static void main(String[] args) {
MongoDB2 db=new MongoDB2();
db.mongoConnect(); //確認連接正確
Date day=new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//生成json字符串
JSONObject json = new JSONObject();
json.put("id","1");
json.put("name","張三");
json.put("pwd","123456");
System.out.println(json);
Document testDocument = new Document();
testDocument.put("times", df.format(day));//插入時間
testDocument.put("name","zhangjun" ); //插入名稱
testDocument.put("info", json.toString()); //插入json字符串
List<Document> documents = new ArrayList<Document>();
documents.add(testDocument);
db.insertCollection("test_log_info", documents);
}


3.查詢數據
/**
* 獲取集合
*
* @param collectionName
* 集合名
* @param testDocument
* 條件 , 支持多對條件
* @return
*
*/
public MongoCursor<Document> getCollection(String collectionName, Document testDocument) {
MongoCursor<Document> mongoCursor = null;
try {
MongoCollection<Document> collection = mongoDatabase.getCollection(collectionName);
FindIterable<Document> resultDocument = collection.find(testDocument);
mongoCursor = resultDocument.iterator();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return mongoCursor;
}
public static void main(String[] args) {
MongoDB2 db=new MongoDB2();
db.mongoConnect(); //確認連接正確
Document testDocument = new Document();
testDocument.put("name", "zhangjun");
MongoCursor<Document> resultDocument = db.getCollection("test_log_info", testDocument);
while(resultDocument.hasNext()){
System.out.println(resultDocument.next());//獲取所有
System.out.println(resultDocument.next().get("_id")); //獲取某個值
}
}

