zl程序教程

您现在的位置是:首页 >  后端

当前栏目

MongoDB for Java详解大数据

JAVAMongoDB数据 详解 for
2023-06-13 09:20:27 时间
1、下载mongoDB对Java支持的驱动包

下载地址:mongodb 也可以使用Maven管理,Maven 代码片段如下:

 dependencies 

 dependency 

 groupId org.mongodb /groupId 

 artifactId bson /artifactId 

 version 3.0.1 /version 

 /dependency 

 dependency 

 groupId org.mongodb /groupId 

 artifactId mongodb-driver /artifactId 

 version 3.0.1 /version 

 /dependency 

 dependency 

 groupId junit /groupId 

 artifactId junit /artifactId 

 version 4.12 /version 

 /dependency 

 /dependencies 
2、建立Java Project工程,导入驱动包,目录结构如下

这里写图片描述

二、Java操作 MongoDB 1、建立连接

连接数据库,需要指定数据库名,如果数据库不存在,MongoDB会自动创建它。

使用 MongoClient 来连接 MongoDB,代码片段如下:

// connect to mongodb server 

MongoClient mongoClient = new MongoClient("localhost", 27017); 

// connect database 

MongoDatabase mongoDatabase = mongoClient.getDatabase("mydb");
2、创建集合

要创建集合,使用 com.mongodb.client.MongoDatabase 类的 createCollection() 方法。

mongoDatabase.createCollection("person");
3、获取一个集合列表

要获取数据库中的所有集合,使用 com.mongodb.client.MongoDatabase 类的 listCollectionNames() 方法。

MongoIterable String result = mongoDatabase.listCollectionNames(); 

Iterator ite = result.iterator(); 

while (ite.hasNext()) { 

 System.out.println("集合名字:" + ite.next()); 

}
4、获取/选择一个集合

要从数据库中获得/选择一个集合,使用 com.mongodb.client.MongoDatabase 类的 getCollection() 方法。

代码片段获取/选择一个集合

MongoCollection Document collection = mongoDatabase.getCollection("person");
5、插入文档

为了将文档插入MongoDB中,使用 com.mongodb.client.MongoCollection 类的 insertOne() 方法。

代码片段插入一个文件

MongoCollection Document collection = mongoDatabase.getCollection("person"); 

Document document = new Document("title", "MongoDB") 

 .append("description", "database") 

 .append("by","blog.ytso.com"); 

collection.insertOne(document);
6、检索所有文件

要检索一个集合中的所有文件,使用 com.mongodb.client.MongoCollection 类的 find() 方法。

MongoCollection Document collection = mongoDatabase.getCollection("person"); 

FindIterable Document document = collection.find(); 

Iterator ite = document.iterator(); 

while (ite.hasNext()) { 

 System.out.println(ite.next()); 

}
7、更新文件

从集合中更新文件,使用 com.mongodb.client.MongoCollection 类的 updateMany() 和 updateOne() 方法。

下面代码片段是将name为zhangsan的mobile信息修改为11011

MongoCollection Document collection = mongoDatabase.getCollection("person"); 

collection.updateOne(Filters.eq("name", "zhangsan"), new Document("$set", new Document("mobile", "11011")));
8、删除文件

从集合中删除文件,使用 com.mongodb.client.MongoCollection 类的 deleteMany() 和 deleteOne() 方法。

下面代码片段是删除title为MongoDB的所有文件

MongoCollection Document collection = mongoDatabase.getCollection("person"); 

collection.deleteMany(Filters.all("title", "MongoDB"));
import java.util.Iterator; 

import org.bson.Document; 

import org.junit.Test; 

import com.mongodb.MongoClient; 

import com.mongodb.client.FindIterable; 

import com.mongodb.client.MongoCollection; 

import com.mongodb.client.MongoDatabase; 

import com.mongodb.client.MongoIterable; 

import com.mongodb.client.model.Filters; 

 * http://blog.ytso.com 

 * 作者: blog.ytso.com 

public class CopyOfDBUtil { 

 // 连接到 mongodb 服务 

 MongoClient mongoClient = null; 

 // 连接到数据库 

 MongoDatabase mongoDatabase = null; 

 /** 

 * 构造方法实例化 

 public CopyOfDBUtil() { 

 mongoClient = new MongoClient("localhost", 27017); 

 mongoDatabase = mongoClient.getDatabase("mydb"); 

 System.out.println("Connect to database successfully: " + mongoDatabase); 

 /** 

 * 创建集合 

 @Test 

 public void createCollection(String collectionName) { 

 mongoDatabase.createCollection(collectionName); 

 System.out.println("集合: " + collectionName + " 创建成功"); 

 /** 

 * 获取所有集合 

 @Test 

 public void getCollection() { 

 MongoIterable String result = mongoDatabase.listCollectionNames(); 

 Iterator ite = result.iterator(); 

 while (ite.hasNext()) { 

 System.out.println("集合名字:" + ite.next()); 

 /** 

 * 删除集合 

 @Test 

 public void dropCollection(String collectionName) { 

 mongoDatabase.getCollection(collectionName).drop(); 

 System.out.println("集合:" + collectionName + " 删除成功"); 

 /** 

 * 插入文档 

 @Test 

 public void insert() { 

 // 获取所插入集合 

 MongoCollection Document collection = mongoDatabase.getCollection("person"); 

 Document document = new Document("title", "MongoDB") 

 .append("description", "database") 

 .append("by","blog.ytso.com"); 

 collection.insertOne(document); 

 /** 

 * 检索所有文件 

 @Test 

 public void queryAll() { 

 MongoCollection Document collection = mongoDatabase.getCollection("person"); 

 FindIterable Document document = collection.find(); 

 Iterator ite = document.iterator(); 

 while (ite.hasNext()) { 

 System.out.println(ite.next()); 

 /** 

 * 更新文件 

 @Test 

 public void update(){ 

 MongoCollection Document collection = mongoDatabase.getCollection("person"); 

 collection.updateOne(Filters.eq("name", "zhangsan"), 

 new Document("$set", new Document("mobile", "11011"))); 

 /** 

 * 删除文档 

 @Test 

 public void deleteAllDocument() { 

 MongoCollection Document collection = mongoDatabase.getCollection("person"); 

 collection.deleteMany(Filters.all("title", "MongoDB")); 

 System.out.println("删除成功"); 

 /** 

 * 条件查询 

 @Test 

 public void find() { 

 MongoCollection Document collection = mongoDatabase.getCollection("person"); 

 //查询likes为100的数据 

 FindIterable Document document = collection.find(Filters.lt("likes",100)); 

 Iterator ite = document.iterator(); 

 while (ite.hasNext()) { 

 System.out.println(ite.next()); 

}

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/9661.html

分布式文件系统,分布式数据库区块链并行处理(MPP)数据库,数据挖掘开源大数据平台数据中台数据分析数据开发数据治理数据湖数据采集