java 使用mongodb
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")); //获取某个值 } }
作者:做梦的人(小姐姐) 出处:https://www.cnblogs.com/chongyou/ 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。 如果文中有什么错误,欢迎指出。以免更多的人被误导。 微信号:18582559217 |