java中mongodb使用
来源:互联网 发布:中电四公司知乎 编辑:程序博客网 时间:2024/06/01 09:02
确定已经安装好mongodb数据库并且启动了服务
导入所需包:bson-3.4.2.jar;mongodb-driver-core-3.4.2.jar;mongodb-driver-3.4.2.jar
package kang;import java.util.ArrayList;import java.util.List;import org.bson.Document;import com.mongodb.MongoClient;import com.mongodb.MongoCredential;import com.mongodb.ServerAddress;import com.mongodb.client.FindIterable;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoCursor;import com.mongodb.client.MongoDatabase;import com.mongodb.client.model.Filters;/* * 1.连接数据库,你需要指定数据库名称,如果指定的数据库不存在,mongo会自动创建数据库。 * 2.所需包:bson-3.4.2.jar;mongodb-driver-core-3.4.2.jar;mongodb-driver-3.4.2.jar * * */public class MongoDBJDBC {public static void main( String args[] ){//test1();//test2();//test3();//test4();//test5();//test6();//test7();//test8();}/* 删除文档 * 要删除集合中的第一个文档,首先你需要使用com.mongodb.DBCollection类中的 findOne()方法来获取第一个文档,然后使用remove 方法删除。 */private static void test8() {try{ //获取MongoCollection<Document>对象MongoCollection<Document> collection = getCollection();//删除符合条件的第一个文档 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){System.err.println( e.getClass().getName() + ": " + e.getMessage() );}}/*更新文档 * 你可以使用 com.mongodb.client.MongoCollection 类中的 updateMany() 方法来更新集合中的文档。 * */private static void test7() {try{ //获取MongoCollection<Document>对象MongoCollection<Document> collection = getCollection();//更新文档 将文档中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){System.err.println( e.getClass().getName() + ": " + e.getMessage() );}}/*检索文档 * * 我们可以使用 com.mongodb.client.MongoCollection 类中的 find() 方法来获取集合中的所有文档。此方法返回一个游标,所以需要遍历这个游标。 * */private static void test6() {try{ //获取MongoCollection<Document>对象MongoCollection<Document> collection = getCollection();//检索所有文档 /** * 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){System.err.println( e.getClass().getName() + ": " + e.getMessage() );}}/*插入文档 * 我们可以使用com.mongodb.client.MongoCollection类的 insertMany() 方法来插入文档 * */private static void test5() {try{ //获取MongoCollection<Document>对象MongoCollection<Document> collection = getCollection();//插入文档 /** * 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<Document>(); documents.add(document); collection.insertMany(documents); System.out.println("文档插入成功"); }catch(Exception e){System.err.println( e.getClass().getName() + ": " + e.getMessage() );}}/*获取集合 * 我们可以使用com.mongodb.client.MongoDatabase类的 getCollection() 方法来获取一个集合 * */private static void test4() {try{ // 连接到 mongodb 服务MongoClient mongoClient = new MongoClient( "localhost" , 27017 );// 连接到数据库MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol"); System.out.println("Connect to database successfully");MongoCollection<Document> collection = mongoDatabase.getCollection("test2");System.out.println("集合 test2 选择成功");}catch(Exception e){System.err.println( e.getClass().getName() + ": " + e.getMessage() );}}/**创建集合 * 我们可以使用 com.mongodb.client.MongoDatabase 类中的createCollection()来创建集合 * */private static void test3() {try{ // 连接到 mongodb 服务MongoClient mongoClient = new MongoClient( "localhost" , 27017 );// 连接到数据库MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol"); System.out.println("Connect to database successfully");mongoDatabase.createCollection("test2");System.out.println("集合创建成功");}catch(Exception e){System.err.println( e.getClass().getName() + ": " + e.getMessage() );}}/* * 如果 Mongo 需要验证用户名及密码 * */private static void test2() {try { //连接到MongoDB服务 如果是远程连接可以替换“localhost”为服务器所在IP地址 //ServerAddress()两个参数分别为 服务器地址 和 端口 ServerAddress serverAddress = new ServerAddress("localhost",27017); List<ServerAddress> addrs = new ArrayList<ServerAddress>(); addrs.add(serverAddress); //MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码 MongoCredential credential = MongoCredential.createScramSha1Credential("username", "databaseName", "password".toCharArray()); List<MongoCredential> credentials = new ArrayList<MongoCredential>(); credentials.add(credential); //通过连接认证获取MongoDB连接 MongoClient mongoClient = new MongoClient(addrs,credentials); //连接到数据库 MongoDatabase mongoDatabase = mongoClient.getDatabase("databaseName"); System.out.println("Connect to database successfully"); } catch (Exception e) { System.err.println( e.getClass().getName() + ": " + e.getMessage() ); } }/* * 如果 Mongo 不需要验证用户名及密码 * */private static void test1() {try{ // 连接到 mongodb 服务MongoClient mongoClient = new MongoClient( "localhost" , 27017 );// 连接到数据库MongoDatabase mongoDatabase = mongoClient.getDatabase("test"); System.out.println("Connect to database successfully");}catch(Exception e){System.err.println( e.getClass().getName() + ": " + e.getMessage() );}}private static MongoCollection<Document> getCollection() {// 连接到 mongodb 服务MongoClient mongoClient = new MongoClient( "localhost" , 27017 );// 连接到数据库MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol"); System.out.println("Connect to database successfully");MongoCollection<Document> collection = mongoDatabase.getCollection("test2");System.out.println("集合 test2 选择成功");return collection;}}
阅读全文
0 0
- java中使用MongoDB
- JAVA中使用MongoDB
- java中mongodb使用
- 在Java中使用MongoDB
- java中使用mongodb增查改删
- Java中使用MongoDB详解
- Java 中使用 SPRING DATA - MONGODB 开发
- mongodb中使用mapreduce
- nodejs中使用mongodb
- Docker 中使用 MongoDB
- Java 中 MongoDB 使用指南
- 使用Java操作Mongodb
- java 使用mongoDB
- MongoDB MapReduce java使用
- 使用Java操作Mongodb
- JAVA使用MongoDB
- mongodb java简单使用
- 使用Java操作Mongodb
- 工作记录--android 分线程, 录音
- 关于Idea软件 Maven项目 MyBatista案例单测的错误
- java堆算法之插入与删除
- SpringMVC之表单标签
- 基于javascript用olamisdk实现web端语音识别语义理解(speex压缩)
- java中mongodb使用
- 流控制RTS/CTS/DTR/DSR
- quartz定时任务时间设置
- linux系统post-commit hook failed (exit code 255) with no output的终极解决方案
- JavaSE实战——jdk配置,数组及其应用,栈和堆内存图解
- php抽象工厂模式
- 整形、字符串相互转换---程序员面试宝典
- Linux 守护进程
- orical空间数据类型GEOMETRY使用干货