MongoDB demo

增删改查

package mytest.demo.mongo;

import java.net.UnknownHostException;
import java.util.List;

import mytest.demo.mongo.utils.MongoDbUtils;

import org.bson.types.ObjectId;
import org.junit.Test;

import com.mongodb.BasicDBObject;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;

public class MongoDbApi {
	
	
	@Test
	public void test() throws UnknownHostException {
		Mongo mongo = MongoDbUtils.getMongo("192.168.6.141", 27017);//new Mongo("localhost:27017");
		List<String> dbName = mongo.getDatabaseNames();

		for(String name:dbName){

			System.out.println("dbName:"+name);

		}
	}
	
	@Test
	public void add() throws UnknownHostException{
		
		//建立起连接...
		/*Mongo mongo=new Mongo("localhost:27017");
		DB db=mongo.getDB("demo");
		DBCollection collection=db.getCollection("employee");*/
		DBCollection collection = MongoDbUtils.getDBCollection("192.168.6.141", 27017,"demo", "employee");
		
		DBObject dbObject =new BasicDBObject ();
		
		dbObject.put("name", "李若亮2");
		dbObject.put("age", 17);
		dbObject.put("gender", "M");
		
		collection.insert(dbObject);
		MongoDbUtils.closeMongo();//mongo.close();
		
	}

	@Test
	public void update() throws UnknownHostException{
		//建立起连接...
/*		Mongo mongo=new Mongo("localhost", 27017);
		
		DB db=mongo.getDB("demo");
		DBCollection collection=db.getCollection("employee");*/
		DBCollection collection = MongoDbUtils.getDBCollection("192.168.6.141", 27017,"demo", "employee");
		
		/**
		 * 1:用于设置更新的条件
		 * 2:用于设置更新的内容的对象
		 * 3:如果没有符合条件的记录,是否新增一条。。 1true/flase
		 * 4:如果有多条记录符合,是否全部更新...
		 * 
		 * 
		 */
		//查找到object id =55e012179d4f1f67f3e21f10
		BasicDBObject queryObj = new BasicDBObject("_id",new ObjectId("55e012179d4f1f67f3e21f10"));
		
		BasicDBObject object = (BasicDBObject) collection.findOne(queryObj);
		
		object.put("name", "王小丫2");
		object.put("age", 20);
		object.put("gender", "F");
		
		//update objectId=55e012179d4f1f67f3e21f10  set Value=
		
		collection.update(queryObj,object);
		
		
		MongoDbUtils.closeMongo();//mongo.close();
	}
	
	@Test
	public void find() throws UnknownHostException{
		//建立起连接...
/*		Mongo mongo=new Mongo("localhost", 27017);
		
		DB db=mongo.getDB("demo");
		DBCollection collection=db.getCollection("employee");*/
		DBCollection collection = MongoDbUtils.getDBCollection("192.168.6.141", 27017,"demo", "employee");
		
		//返回结果集
		DBCursor cursor=collection.find();
		while(cursor.hasNext()){
			DBObject dbObject=cursor.next();
			System.out.println(dbObject.toString());
		}
		MongoDbUtils.closeMongo();//mongo.close();
	}
	
	
	@Test
	public void delete() throws UnknownHostException{
		//建立起连接...
/*		Mongo mongo=new Mongo("localhost", 27017);
		
		DB db=mongo.getDB("demo");
		DBCollection collection=db.getCollection("employee");	*/
		DBCollection collection = MongoDbUtils.getDBCollection("192.168.6.141", 27017,"demo", "employee");
		
		BasicDBObject basicDBObject=new BasicDBObject();
		//{}
		basicDBObject.put("name", "李若亮2");
		//{name:"李若亮"}
		
		collection.remove(basicDBObject);
		MongoDbUtils.closeMongo();//mongo.close();
	}
}

 

自定义工具类

package mytest.demo.mongo.utils;

import java.net.UnknownHostException;

import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.Mongo;

public class MongoDbUtils {

	private static Mongo mongo = null;
	
	public static Mongo getMongo(String url,int port) throws UnknownHostException {
		mongo = new Mongo(url + ":" + port);
		return mongo;
	}
	
	public static DBCollection getDBCollection(String url,int port,String dbName,String collectionName) throws UnknownHostException {
		MongoDbUtils.getMongo(url, port);
		DB db = mongo.getDB(dbName);
		return db.getCollection(collectionName);
	}
	
	public static void closeMongo() {
		mongo.close();
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
package dzs.com.MongoDB; import java.util.ArrayList; import java.util.List; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.MongoClientURI; 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; public class MongoDBJDBC { private static String uri ="mongodb://dzs:123456@127.0.0.1:27017/test"; @SuppressWarnings("deprecation") public static void main(String[] args){ 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("admin", "test", "123456".toCharArray()); List<MongoCredential> credentials = new ArrayList<MongoCredential>(); credentials.add(credential); //1、通过连接认证获取MongoDB连接 MongoClient mongoClient = new MongoClient(addrs,credentials); MongoDatabase mongoDatabase = mongoClient.getDatabase("test"); System.out.println("1--Connect to database successfully"); //2、通过uri方式连接MongoDB uri根据选择的数据库修改登录用户dzs MongoClientURI mongoClientUri =new MongoClientURI(uri); MongoClient mongoclient =new MongoClient(mongoClientUri); //连接到数据库 MongoDatabase mongoDatabase2 = mongoclient.getDatabase("test"); System.out.println("2--Connect to database successfully"); //使用test数据库,如果不存在会自动创建 MongoCollection<Document> collection = mongoDatabase2.getCollection("test"); System.out.println("集合 test 选择成功"); /**插入文档 * 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("文档插入成功"); /**检索所有文档 * 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()); } System.out.println("检索所有文档成功"); //更新文档 将文档中likes=100的文档修改为likes=200 collection.updateMany(Filters.eq("likes", 100), new Document("$set", new Document("likes", 200))); //检索查看结果 findIterable = collection.find(); mongoCursor = findIterable.iterator(); while (mongoCursor.hasNext()) { System.out.println(mongoCursor.next()); } System.out.println("更新文档成功"); //删除符合条件的第一个文档 collection.deleteOne(Filters.eq("likes", 200)); //删除所有符合条件的文档 collection.deleteMany(Filters.eq("likes", 200)); //检索查看结果 findIterable = collection.find(); mongoCursor = findIterable.iterator(); while (mongoCursor.hasNext()) { System.out.println(mongoCursor.next()); } System.out.println("删除文档成功"); } catch (Exception e) { System.err.println( e.getClass().getName() + ": " + e.getMessage() ); } } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值