java 操作mongoDB

package com.shj.mango;


import java.util.ArrayList;
import java.util.List;


import org.bson.Document;


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;


public class MongoJDBC {



/**
* 获取连接
*@Description: 
*@author        shj
*@param:        @return    
* @Date           2018年5月23日 下午2:46:14
*/
public static MongoDatabase getDB() {

//连接到服务
MongoClient client=new MongoClient("localhost",27017);
//连接到数据库
MongoDatabase mongodb=client.getDatabase("shj");
System.out.println("连接到数据库成功");
return mongodb;
}

public static  void  createDB(MongoDatabase database,String dbName) {
database.createCollection(dbName);
}


/**
* 查询
*@Description: 
*@author        shj
*@param:        @param collection    
* @Date           2018年5月23日 下午2:50:19
*/
public static void select( MongoCollection<Document> collection) {
FindIterable<Document> findIterable = collection.find();  
     MongoCursor<Document> mongoCursor = findIterable.iterator();  
     while(mongoCursor.hasNext()){  
        System.out.println(mongoCursor.next());  
     }  
System.out.println("查询完毕");
}

/**
* 文档插入
*@Description: 
*@author        shj
*@param:        @param collection
*@param:        @param lists    
* @Date           2018年5月23日 下午3:12:30
*/
public static void insert(MongoCollection<Document> collection) {
List<Document> docuemts=new ArrayList<>();
for (int i = 0; i < 100; ) {
docuemts.add(new Document("shape","water").append("name", "水").
 append("color", "无色").append("weight", i++));
 docuemts.add(new Document("shape","flower").append("name", "花").
 append("color", "红色").append("weight", i++));
 docuemts.add(new Document("shape","book").append("name", "书").
 append("color", "黑色").append("weight", i++));
}



 collection.insertMany(docuemts);
 System.out.println("文档插入成功");
 select(collection);
}

public static void main(String[] args) {
// TODO Auto-generated method stub
try {

MongoDatabase mongodb= getDB();

//创建集合
// createDB(mongodb, "ceshi"); 如果已存在,则报错

//获取集合
  MongoCollection<Document> collection =mongodb.getCollection("ceshi");
  
  if(collection==null) {
  //如果集合不存在,则创建
  createDB(mongodb, "ceshi");
  }
  
  
 System.out.println("获取集合成功");
//  获取文档(查询所有)
 select(collection);
 
/*  MongoCollection<Document> collection1 = mongodb.getCollection("hello");
  select(collection1);
*/
 
  //增加文档
 
 insert(collection);
 
 update(collection,"color","无色","白色");
 delete(collection,"color","白色");
 
 
 
}catch(Exception e) {
e.printStackTrace();
}


}
/**
* 根据条件删除
*@Description: 
*@author        shj
*@param:        @param collection
*@param:        @param string  参数
*@param:        @param string2     参数值
* @Date           2018年5月23日 下午3:19:06
*/
private static void delete(MongoCollection<Document> collection, String string, String string2) {
 //删除符合条件的第一个文档  
    collection.deleteOne(Filters.eq(string, string2));  
    //删除所有符合条件的文档  
    collection.deleteMany (Filters.eq(string, string2));  
System.out.println("删除完毕");
    select(collection);
}


/**
 * 
 *@Description:  更新,将某个参数图换位另一个
 *@author        shj
 *@param:        @param collection 集合
 *@param:        @param string 参数名
 *@param:        @param string2 当前值
 *@param:        @param string3  替换值   
 * @Date           2018年5月23日 下午3:13:55
 */
private static void update(MongoCollection<Document> collection, String param, String currentValue, String afterValue) {
collection.updateMany(Filters.eq(param, currentValue), new Document("$set",new Document(param,afterValue)));  
System.out.println("更新完毕");
select(collection);
}








}

猜你喜欢

转载自blog.csdn.net/aa15237104245/article/details/80421061
今日推荐