记录一下java操作MongoDB的简单操作只有简单的CRUD操作
pom.xml 依赖
<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.2.2</version>
</dependency>
</dependencies>
java代码
package com.cjy.mongo;
import com.mongodb.MongoClient;
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;
import org.bson.Document;
import java.util.*;
public class MongoDBJDBC {
public static void main( String args[] ){
//插入单个文档
// Document document = new Document();
// document.append("name","寒冰射手");
// document.append("age",16);
// document.append("sex",0);
// insertDocument(document);
//插入多个文档
// Document document1 = new Document();
// document1.append("name","德邦");
// document1.append("age",23);
// document1.append("sex",0);
// Document document2 = new Document();
// document2.append("name","皇子");
// document2.append("age",25);
// document2.append("sex",0);
// Document document3 = new Document();
// document3.append("name","德玛西亚");
// document3.append("age",21);
// document3.append("sex",0);
// List<Document> list = new ArrayList<Document>(Arrays.asList(new Document[]{document1,document2,document3}));
// insertListDocument(list);
// List<Document> all = findAll();
// for (int i=0;i<all.size();i++) {
// System.out.println(all.get(i));
// }
//修改文档
// //修改name=皇子的 age为35 sex=1
// Map map = new HashMap();
// map.put("age",35);
// map.put("sex",1);
// updateMany("name","皇子",new Document(map));
// 删除 name=皇子的 age为35 sex=1
deleteOne("name","皇子");
}
//获取数据库
public static MongoDatabase getMongoDatabase(String databaseName){
MongoDatabase mongoDatabase = null;
try{
// 连接到 mongodb 服务
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
// MongoClient mongoClient = new MongoClient( "106.xxx.xxx.1" , 27017 );
// 连接到数据库--如果没有则在创建集合时创建数据库
mongoDatabase = mongoClient.getDatabase(databaseName);
System.out.println("Connect to database successfully -"+ mongoDatabase);
}catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
return mongoDatabase;
}
//获取集合
public static MongoCollection<Document> getMongoCollection(String collectionName){
MongoCollection<Document> collection = null;
try{
MongoDatabase mongoDatabase = getMongoDatabase("mycol");
collection = mongoDatabase.getCollection(collectionName);
System.out.println("获取集合:" + collection);
}catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
return collection;
}
//插入文档
public static boolean insertDocument(Document document){
boolean flag = true;
try{
MongoCollection<Document> java = getMongoCollection("java");
java.insertOne(document);
System.out.println("插入数据成功");
}catch (Exception e){
flag=false;
System.out.println(e.getMessage());
}
return flag;
}
//插入多个文档
public static boolean insertListDocument(List<Document> list){
boolean flag = true;
try{
MongoCollection<Document> java = getMongoCollection("java");
java.insertMany(list);
}catch (Exception e){
flag=false;
System.out.println(e.getMessage());
}
return flag;
}
/**
* 获取文档
* @return
*/
public static List<Document> findAll(){
List<Document> list = new ArrayList<Document>();
try{
MongoCollection<Document> java = getMongoCollection("java");
FindIterable<Document> documents = java.find();
MongoCursor<Document> iterator = documents.iterator();
while(iterator.hasNext()){
Document next = iterator.next();
// System.out.println(next);
list.add(next);
}
}catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
return list;
}
//获取第一个文档
public static Document findOne(){
List<Document> all = findAll();
return all.get(0);
}
/**
* 修改满足条件的所有文档
* @param fieldName 筛选字段名称
* @param fieldValue 筛选字段值
* @param doc
* @return
*/
public static boolean updateMany(String fieldName,String fieldValue,Document doc){
boolean flag = true;
try{
MongoCollection<Document> java = getMongoCollection("java");
java.updateMany(Filters.eq(fieldName, fieldValue), new Document("$set",doc));
System.out.println("修改文档成功");
}catch(Exception e){
flag = false;
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
return flag;
}
/**
* 删除一文档
* @param fieldName
* @param fieldValue
* @return
*/
public static boolean deleteOne(String fieldName,String fieldValue){
boolean flag = true;
try{
MongoCollection<Document> java = getMongoCollection("java");
java.deleteOne(Filters.eq(fieldName, fieldValue));
System.out.println("删除文档成功");
}catch (Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
return flag;
}
/**
* 删除多个
* @param fieldName
* @param fieldValue
* @return
*/
public static boolean deleteMany(String fieldName,String fieldValue){
boolean flag = true;
try{
MongoCollection<Document> java = getMongoCollection("java");
java.deleteMany(Filters.eq(fieldName, fieldValue));
System.out.println("删除文档成功");
}catch (Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
return flag;
}
}