public static String mongodbConnection(String phone){ String sendCode = null; //創建mongodb鏈接地址 MongoClientURI uri = new MongoClientURI(properties.getProperty("mongodb.url")); //鏈接mongodb數據庫 MongoClient client = new MongoClient(uri); // 連接到數據庫 MongoDatabase db = client.getDatabase(properties.getProperty("mongodb.dataBaseName")); // 獲取send_record集合 MongoCollection collection = db.getCollection("send_record"); //查詢條件,模糊查詢 Pattern pattern = Pattern.compile(phone); BasicDBObject cond = new BasicDBObject(); cond.put("phone",new BasicDBObject("$regex",pattern)); //執行查詢 MongoCursor<Document> cursor = collection.find(cond).iterator(); List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); while (cursor.hasNext()){ System.out.println(cursor.next()); //map集合處理查詢結果 Map<String, Object> map = new HashMap<String, Object>(); map.putAll(cursor.next()); list.add(map); String regEx="[^0-9]"; Pattern p = Pattern.compile(regEx); System.out.println(map.get("content").toString()); //正則獲取文本中的數字 sendCode = p.matcher(map.get("content").toString()).replaceAll("").trim(); } return sendCode; }
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.10.2</version> </dependency>
執行結果
Document{{_id=5dc5279739ebb45bd97c495a, country_code=+86, phone=18680362285, content=您的驗證碼是559494。請不要把驗證碼泄露給其他人。如非本人操作,請及時修改密碼以防被盜!, status=1, remark={"code":"0","msg":"SUCCESS","batchId":"5v6X312"}, last_update_time=Fri Nov 08 16:30:15 CST 2019, created=Fri Nov 08 16:30:15 CST 2019, _class=com.blockeng.repository.SendRecord}}
您的驗證碼是394588。請不要把驗證碼泄露給其他人。如非本人操作,請及時修改密碼以防被盜!
394588