Java-MongoDB入门级小程序,方便直接上手使用
2017-11-09 11:30
507 查看
项目为Maven项目,需先导入MongoDB Driver jar包,导入信息如下:
下面贴出程序的主要代码,根据代码中的注释可了解整个操作的流程:
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.2.2</version> </dependency>
下面贴出程序的主要代码,根据代码中的注释可了解整个操作的流程:
// 连接MongoDB数据库无需认证 public static void noAuthorise() { MongoClient mongoClient = null; try { // 连接到mongodb服务 mongoClient = new MongoClient("localhost", 27017); // 连接数据库名称为col的 MongoDatabase mongoDatabase = mongoClient.getDatabase("col"); System.out.println("Connect to database successfully"); } catch (Exception e) { e.printStackTrace(); } finally { if (mongoClient != null) mongoClient.close(); } } // 连接MongoDB数据库需要认证条件 public static void connServer() { MongoClient mongoClient = null; try { // 连接到Mongodb服务 ServerAddress serverAddress = new ServerAddress("localhost", 27017); List<ServerAddress> addrs = new ArrayList<>(); addrs.add(serverAddress); // MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码 MongoCredential credential = MongoCredential.createScramSha1Credential("username", "databaseName", "password".toCharArray()); List<MongoCredential> credentials = new ArrayList<MongoCredential>(); credentials.add(credential); // 通过连接认证获取MongoDB连接 mongoClient = new MongoClient(addrs, credentials); // 连接到数据库 MongoDatabase mongoDatabase = mongoClient.getDatabase("databaseName"); System.out.println("Connect to database successfully!"); } catch (Exception e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } finally { if (mongoClient != null) mongoClient.close(); } } // 创建集合 public static void createCollection() { MongoClient mongoClient = null; try { // 连接到mongodb服务 mongoClient = new MongoClient("localhost", 27017); // 连接到数据库 MongoDatabase mongoDatabase = mongoClient.getDatabase("col"); System.out.println("Connect to database successfully"); mongoDatabase.createCollection("test"); System.out.println("集合创建成功"); } catch (Exception e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } finally { if (mongoClient != null) mongoClient.close(); } } // 插入文档数据 public static void insertMany() { MongoClient mongoClient = null; try { // 连接到mongodb服务 mongoClient = new MongoClient("localhost", 27017); // 连接到数据库 MongoDatabase mongoDatabase = mongoClient.getDatabase("col"); System.out.println("Connect to database successfully."); MongoCollection<Document> collection = mongoDatabase.getCollection("test"); System.out.println("集合test选择成功!"); // 插入文档 // 1.创建文档org.bson.Document参数为key-value的格式 // 2.创建文档集合List<Document> // 3.将文档集合插入数据库集合中mongoCollection.insertMany(List<Document>) // 插入文档可以用mongoCollection.insertOne(Document) Document document = new Document("title", "MongoDB").append("description", "database").append("likes", 100) .append("by", "Fly"); List<Document> documents = new ArrayList<>(); documents.add(document); collection.insertMany(documents); System.out.println("文档插入成功"); } catch (Exception e) { e.printStackTrace(); } finally { if (mongoClient != null) mongoClient.close(); } } //查询文档 public static void queryDocument() { MongoClient mongoClient = null; try { // 连接到mongodb服务 mongoClient = new MongoClient(); // 连接到数据库 MongoDatabase mongoDatabase = mongoClient.getDatabase("col"); System.out.println("Connect to database successfully"); MongoCollection<Document> collection = mongoDatabase.getCollection("test"); System.out.println("选择集合test成功"); // 检索所有文档 // 1.获取迭代期FindIterable<Document> // 2.获取游标MongoCursor<Document> // 3.通过游标遍历检索出的文档集合 FindIterable<Document> findIterable = collection.find(); MongoCursor<Document> mongoCursor = findIterable.iterator(); while (mongoCursor.hasNext()) { System.out.println(mongoCursor.next()); } } catch (Exception e) { e.printStackTrace(); } finally { if (mongoClient != null) mongoClient.close(); } } // 批量更新文档 public static void updateMany() { MongoClient mongoClient = null; try { mongoClient = new MongoClient("localhost", 27017); MongoDatabase mongoDatabase = mongoClient.getDatabase("col"); System.out.println("Connect to database successfully"); MongoCollection<Document> collection = mongoDatabase.getCollection("test"); System.out.println("集合test选择成功"); // 批量更新文档,将文档中likes=100文档修改为likes=200 collection.updateMany(Filters.eq("likes", 100), new Document("$set", new Document("likes", 200))); // 检索查看结果 FindIterable<Document> findIterable = collection.find(); MongoCursor<Document> mongoCursor = findIterable.iterator(); while (mongoCursor.hasNext()) { System.out.println(mongoCursor.next()); } } catch (Exception e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } finally { if (mongoClient != null) mongoClient.close(); } } //删除第一个文档 public static void deleteOne() { MongoClient mongoClient=null; try { mongoClient=new MongoClient("localhost",27017); MongoDatabase mongoDatabase=mongoClient.getDatabase("col"); System.out.println("Connect to database successfully!"); MongoCollection<Document> collection=mongoDatabase.getCollection("test"); System.out.println("集合test选择成功"); //删除符合条件的第一个文档 collection.deleteOne(Filters.eq("likes", 200)); //删除所有符合条件的文档 collection.deleteMany(Filters.eq("likes", 200)); //检索查看结果 FindIterable<Document> findIterable=collection.find(); MongoCursor<Document> mongoCursor=findIterable.iterator(); while(mongoCursor.hasNext()) { System.out.println(mongoCursor.next()); } } catch (Exception e) { e.printStackTrace(); }finally { if(mongoClient!=null) mongoClient.close(); } }
相关文章推荐
- 使用java jstack查看程序线程阻塞点方便调试性能
- MongoDB程序开发之使用Java驱动
- Mongodb程序开发之使用JAVA驱动
- MongoDB程序开发之使用Java驱动
- java 程序加载过程---3--类中申明同时申明类的静态对象 创建类的实例 访问类的静态变量 调用类的静态方法 使用反射方法 初始化类的子类对象 直接使用java.exe 调用某个类
- [编写高质量代码:改善java程序的151个建议]建议52 推荐使用String直接量赋值
- Java 程序中使用 MongoDB教程
- MongoDB_Java连接mongo 使用Java程序更新集合中的文档
- 使用程序修改域帐户直接领导时遇到的错误
- 使用 WebSphere Studio Application Developer 开发 Java 程序: 与 VisualAge for Java 进行比较
- 使用Java Service Wrapper 把Java程序作为Windows系统服务
- JPCAP:使用Java来sniffer网络数据包(包含例子程序)
- J2ME中使用pauseApp控制手机临时退出JAVA程序
- 在启动脚本中一般使用类似如下的命令执行一个Java程序
- 使用Java读取串口的程序
- 如何使用Java编写多线程程序
- Java Tip 96: 使用 HTTPS 编写客户端程序
- 如何使用Java读取串口的程序
- 使用程序修改域帐户直接领导时遇到的错误