java中使用mongodb增查改删

来源:互联网 发布:深圳网络固定地址 编辑:程序博客网 时间:2024/06/05 19:37

新建java project,使用jar包(mongo-java-driver-3.3.0.jar)


package com.yf.mongodb;


import org.junit.Test;


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


import org.bson.Document;
import org.bson.conversions.Bson;


import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;


/**
 * File: MainTest.java Description: TODO
 * 
 * @author xxx
 * @date 2016年11月15日 下午3:33:56
 * @version 1.0
 **/


public class CRUDTest {


// 查询多个文档
@Test
public void testFindAll() throws Exception {
System.out.println("begin");
//获取客户端对象
MongoClient client = new MongoClient("192.168.31.33", 27017);
//获取对应数据库名字的数据库对象
MongoDatabase db = client.getDatabase("test");
//获取集合对象
MongoCollection<Document> collection = db.getCollection("user");
//获取到一个文档集合对象
FindIterable<Document> it = collection.find();
//转为游标迭代器
MongoCursor<Document> iterator = it.iterator();
while(iterator.hasNext()){
//获取到一个文档对象(doc类似于关系数据库中的一行)
Document doc = iterator.next();
String name = doc.getString("name");
Integer age = doc.getInteger("age");
//String title = doc.getString("title");
System.out.println(name + "," + String.valueOf(age));
}
        //关闭资源
iterator.close();
client.close();
System.out.println("end");
}


// 查询单个文档
@Test
public void testfindOne() throws Exception {
System.out.println("begin");
//获取客户端对象
MongoClient client = new MongoClient("192.168.31.33", 27017);
//获取对应数据库名字的数据库对象
MongoDatabase db = client.getDatabase("test");
//获取集合对象
MongoCollection<Document> collection = db.getCollection("user");
//获取到一个文档集合对象
Map<String,String> map = new HashMap<String,String>();
map.put("name", "京东");
Bson filter = new BasicDBObject(map);
FindIterable<Document> it = collection.find(filter);
//转为游标迭代器
MongoCursor<Document> iterator = it.iterator();
while(iterator.hasNext()){
//获取到一个文档对象(doc类似于关系数据库中的一行)
Document doc = iterator.next();
//System.out.println(doc.getString("_id"));
String name = doc.getString("name");
Integer age = doc.getInteger("age");
//String title = doc.getString("title");
System.out.println(name + "," + age );
}
        //关闭资源
iterator.close();
client.close();
System.out.println("end");
}


// 插入文档
@Test
public void testInsert() throws Exception {
System.out.println("begin");
//获取客户端对象
MongoClient client = new MongoClient("192.168.31.33", 27017);
//获取对应数据库名字的数据库对象
MongoDatabase db = client.getDatabase("test");
//获取集合对象
MongoCollection<Document> collection = db.getCollection("user");

//New一个文档集合对象
Map<String, Object> map = new HashMap<String,Object>();
map.put("name", "京东");
map.put("age", 36);
Map<String,Object> hobbyMap = new HashMap<String,Object>();
hobbyMap.put("item", "暖水壶");
hobbyMap.put("price", 255);
map.put("hobby", hobbyMap );
Document d = new Document(map);
Map<String, Object> map2 = new HashMap<String,Object>();
map2.put("name", "淘宝");
map2.put("age", 6);
Document doc = new Document(map2);

List<Document> list = new ArrayList<Document>();
list.add(d);
list.add(doc);
//collection.insertOne(d);
collection.insertMany(list);
//关闭连接
client.close();
System.out.println("end");
}


// 更新文档
@Test
public void testUpdate() throws Exception {
System.out.println("begin");
//获取客户端对象
MongoClient client = new MongoClient("192.168.31.33", 27017);
//获取对应数据库名字的数据库对象
MongoDatabase db = client.getDatabase("test");
//获取集合对象
MongoCollection<Document> collection = db.getCollection("user");

Map<String,Object> map = new HashMap<String,Object>();
map.put("name", "京东");
Bson filter = new BasicDBObject(map);
Map<String,Object> map2 = new HashMap<String,Object>();
map2.put("age", 5);
Bson update = new BasicDBObject(map2);
collection.updateOne(filter, new BasicDBObject("$set",update));

client.close();
System.out.println("end");
}


// 删除文档
@Test
public void testRemove() throws Exception {
System.out.println("begin");
//获取客户端对象
MongoClient client = new MongoClient("192.168.31.33", 27017);
//获取对应数据库名字的数据库对象
MongoDatabase db = client.getDatabase("test");
//获取集合对象
MongoCollection<Document> collection = db.getCollection("user");

Map<String,Object> map = new HashMap<String,Object>();
map.put("name", "淘宝");
Bson filter = new BasicDBObject(map);


collection.deleteOne(filter);

client.close();
System.out.println("end");
}


}

0 0
原创粉丝点击