新建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");
}
}