Java操作MongoDB的增删改查代码
openkk
12年前
连接, 获取db, collection, 增加, 删除, 更新, 查询等基本操作
package com.zhongsou.mongo; import java.net.UnknownHostException; import java.util.List; import java.util.Set; import org.junit.Test; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.mongodb.DBTCPConnector; import com.mongodb.Mongo; import com.mongodb.WriteResult; /** * 对于mongon的测试 * * @author Gaojie */ public class MongoDBTest { Mongo m; DBTCPConnector conn; private DB db; @Test public void testMongo() throws UnknownHostException { String host = "202.108.*.*"; m = new Mongo(host, 27017); // m.get } @Test public void testConntect() throws Exception { testMongo(); System.out.println("Mongo: " + m); conn = m.getConnector(); System.out.println("DBTCPConnector: " + conn.getServerAddressList()); } @Test public void testDB() throws Exception { testMongo(); testConntect(); // 获取admin的数据库 db = m.getDB("gaojie"); System.out.println("DB=" + db); boolean auth = db.authenticate("root", "123456".toCharArray()); System.out.println("auth=" + auth); } @Test public void testGetAll() throws Exception { testDB(); // 获取db里面的collection(表) Set<String> names = db.getCollectionNames(); for (String name : names) { System.out.println("CollectionName: " + name); DBCollection coll = db.getCollection(name); System.out.println("CollectionCount=" + coll.count()); DBCursor cursor = coll.find(); while (cursor.hasNext()) { System.out.println("DBObject=" + cursor.next()); } List<DBObject> objs = coll.getIndexInfo(); for (DBObject obj : objs) { System.out.println("IndexInfo=" + obj); } System.out.println("=============="); } // 获取表结果 } @Test public void testCollection() throws Exception { testDB(); if (db.isAuthenticated()) { for (String coll : db.getCollectionNames()) { System.out.println("collection=" + coll); } } } @Test public void testInsert() throws Exception { testDB(); if (db.isAuthenticated()) { DBCollection coll = db.getCollection("test"); DBObject obj = new BasicDBObject(); obj.put("name", "gaojie"); obj.put("age", 2403); obj.put("md5", "546466sfsddfsd"); WriteResult wr = coll.insert(obj); System.out.println("WriteResult=" + wr); } } @Test public void testInsertObj() throws Exception { testDB(); if (db.isAuthenticated()) { DBCollection coll = db.getCollection("test"); DBObject obj = new BasicDBObject(); obj.put("pepole", new User()); WriteResult wr = coll.insert(obj); System.out.println("WriteResult=" + wr); } } @Test public void testRemove() throws Exception { testDB(); if (db.isAuthenticated()) { DBCollection coll = db.getCollection("test"); DBObject obj = new BasicDBObject(); // obj.put("name", "gaojie1"); obj.put("age", 110); System.out.println("WriteResult=" + coll.remove(obj)); } } @Test public void testUpdate() throws Exception { testDB(); if (db.isAuthenticated()) { DBCollection coll = db.getCollection("test"); DBObject obj = new BasicDBObject(); obj.put("name", "gaojie10"); obj.put("age", 110); DBObject upObj = new BasicDBObject(); upObj.put("name", "gaojie10"); // upObj.put("age", 110); System.out.println("WriteResult=" + coll.update(obj, upObj)); } } @Test public void testQuery() throws Exception { testDB(); if (db.isAuthenticated()) { DBCollection coll = db.getCollection("test"); DBObject obj = new BasicDBObject(); // obj.put("name", "gaojie00"); obj.put("age", 110); DBCursor cursor = coll.find(obj); while (cursor.hasNext()) { System.out.println("DBObject=" + cursor.next()); } } } }