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")); //獲取某個值 } }