|
Object;
import com.mongodb.Mongo;
import com.mongodb.MongoException;
import com.mongodb.QueryOperators;
/**
* @ClassName: MongoDBCRUDTest
* @Description: TODO(MongoDB测试)
* @author wangzhao date 2015年2月11日 下午5:56:16
*
*/
public class MongoDBCRUDTest {
private Mongo mg = null;
private DB db;
private DBCollection webInfos;
@Before
public void init() {
try {
mg = new Mongo("192.168.26.190", 27017);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MongoException e) {
e.printStackTrace();
}
// 获取dreamerkr DB;如果默认没有创建,mongodb会自动创建
db = mg.getDB("dreamerkr");
// 获取web_info DBCollection;如果默认没有创建,mongodb会自动创建
webInfos = db.getCollection("web_info");
}
@After
public void destory() {
if (mg != null) {
mg.close();
}
mg = null;
db = null;
webInfos = null;
}
public void print(Object o) {
System.out.println(o);
}
/**
* 1.queryAll(使用MongoDB的api查询所有数据).
*/
@Test
public void queryAll() {
print("查询webInfos的所有数据:");
// db游标
DBCursor cur = webInfos.find();
while (cur.hasNext()) {
print(cur.next());
}
}
/**
* add(插入一个对象).
*/
@Test
public void addObject() {
// 先查询所有数据
queryAll();
print("count: " + webInfos.count());
DBObject webInfo = new BasicDBObject();
webInfo.put("name", "追梦客");
webInfo.put("address", "http://www.dreamerkr.com");
// webInfos.save(webInfo)保存,getN()获取影响行数
print(webInfos.save(webInfo).getN());
// 查询下数据,看看是否添加成功
print("count: " + webInfos.count());
queryAll();
}
/**
* add(插入一个List).
*/
@Test
public void addList() {
queryAll();
print("count: " + webInfos.count());
DBObject webInfo = new BasicDBObject();
List list = new ArrayList();
webInfo.put("name", "追梦客");
webInfo.put("address", "http://www.dreamerkr.com");
webInfo.put("age", 2);
list.add(webInfo);
DBObject webInfo2 = new BasicDBObject("name", "追梦客2");
webInfo2.put("address", "www.hth.tv");
webInfo2.put("age", 1);
list.add(webInfo2);
webInfos.insert(list);
// 查询下数据,看看是否添加成功
print("count: " + webInfos.count());
queryAll();
}
/**
* add(插入一个数组).
*/
@Test
public void addArray() {
queryAll();
print("count: " + webInfos.count());
DBObject webInfo = new BasicDBObject();
webInfo.put("name", "追梦客");
webInfo.put("address", "http://www.dreamerkr.com");
// 添加多条数据,传递Array对象
webInfos.insert(webInfo, new BasicDBObject("name", "雨打排行"));
print("count: " + webInfos.count());
queryAll();
}
/**
*
* remove( 删除数据).
*/
@Test
public void remove() {
queryAll();
print("删除id = 54dc0cc3c50afa2987800aff:"
+ webInfos.remove(new BasicDBObject("_id", new ObjectId(
"54dc0cc3c50afa2987800aff"))).getN());
print("remove name = 追梦客2: "
+ webInfos
.remove(new BasicDBObject("name", "追梦客2")).getN());
print("remove age > 1: "
+ webInfos
.remove(new BasicDBObject("age", new BasicDBObject("$gt", 1))).getN());
}
/**
*
* modify(修改数据).
*/
@Test
public void modify() {
queryAll();
print("修改:"
+ webInfos.update(
new BasicDBObject("_id", new ObjectId(
"54dc0808c50a5945720b1724")),
new BasicDBObject("name", "雨打排行2")).get |