使用mongodb-driver驱动包实现Java代码操作MongoDB
1.引入依赖
根据项目情况(Gradle,Maven),引入mongodb-driver依赖
Maven:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver</artifactId>
<version>3.6.3</version>
</dependency>
Gradle:
"org.mongodb:mongodb-driver:3.6.3",
2.连接测试
//连接MongoDB,参数为对应的ip和端口
MongoClient client = new MongoClient("192.168.200.66",27017)
//打开数据库base
DB db = client.getDB("base");
//获取集合
DBCollection dbCollection = db.getCollection("aaa");
3.根据条件查询
//连接如上,在集合中查找projectid为111的记录
dbCollection.findOne(new BasicDBObject("projectid","111"));
// 关闭连接
client.close();
4.插入数据
//连接同2
//准备数据
HashMap<String, Object> map = new HashMap<>();
map.put("projectid", "1112");
map.put("content", "test");
Document document = new Document(map);
// 插入一条数据
dbCollection.insertOne(document);
5.上传文件
//连接MongoDB
MongoClient client = new MongoClient("192.168.200.1","27017"),
//打开数据库base
DB db = client.getDB("base");
//获取核心类,GridFS:核心类,提供了对文件的创建、查找和删除操作。
GridFS myFS = new GridFS(db,"materials");
//通过输入流来保存文件,参数分别为文件输入流,上传的文件名
GridFSInputFile gridFSInputFile = myFS.createFile(inputstream,fileName);
gridFSInputFile.save();
//从本地上传测试
//GridFSFile file = myFS.createFile(new File("D:/test.txt"));
//file.save();
client.close();
6.下载文件
//连接MongoDB
MongoClient client = new MongoClient("192.168.200.1","27017"),
//打开数据库base
DB db = client.getDB("base");
//获取核心类,GridFS:核心类,提供了对文件的创建、查找和删除操作。
GridFS myFS = new GridFS(db,"materials");
//查找到要下载的文件
GridFSDBFile gridFSDBFile = myFS.findOne(new ObjectId());
//GridFSDBFile gridFSDBFile2 = myFS.findOne("filename");
gridFSDBFile2.writeTo(new File("D:/aaa.txt"));
client.close();