mongodb初體驗

來源:互聯網
上載者:User

標籤:style   blog   io   color   os   使用   java   sp   資料   

最近關注大資料,自然會關注到nosql資料庫,其中當然是mongodb。

nosql資料庫大多是k,v資料庫,這也不是新鮮的名詞了,berkerly DB已經存在很多年了,現在屬於oracle。

具體k,v資料庫為何比傳統資料庫優載的原理,還需要深入瞭解和學習。同時兩者應該是各有存在的空間。

mongodb的使用非常簡單,簡單封裝一下類如下:

 1 package DBHelper; 2  3 import com.mongodb.*; 4 import com.mongodb.util.JSON; 5  6 import java.net.UnknownHostException; 7 import java.util.List; 8  9 /**10  * Created by Weijiabin on 2014/10/29.11  */12 public class MongoDB {13 14     public MongoDB() throws UnknownHostException {15         _mongo = new Mongo();16     }17     private Mongo _mongo;18     public DB getDb(String strDbName){19         return _mongo.getDB(strDbName);20     }21 22     public DBCollection getDbCollection(String strStrDbName, String strTableName){23         return getDb(strStrDbName).getCollection(strTableName);24     }25 26     public void add(String strDbName,String strTableName, DBObject obj){27         getDbCollection(strDbName,strTableName).save(obj);28     }29 30     public void addList(String strDbName,String strTableName, List<DBObject> objList){31         getDbCollection(strDbName,strTableName).insert(objList);32     }33 34     public int remove(String strDbName,String strTableName,DBObject obj){35         return getDbCollection(strDbName,strTableName).remove(obj).getN();36     }37 38     public int modify(String strDbName,String strTableName,DBObject objQ,DBObject objN,boolean bUpdateAll){39         return getDbCollection(strDbName,strTableName).update(objQ,objN,true,bUpdateAll).getN();40     }41 42     public DBObject query(String strDbName,String strTableName,DBObject objQ){43         return getDbCollection(strDbName,strTableName).findOne(objQ);44     }45 46 47     48 }

測試代碼如下:

package DBHelper;import com.mongodb.BasicDBObject;import com.mongodb.DBObject;import org.junit.Test;import static org.junit.Assert.*;public class MongoDBTest {    @Test    public void testGetDb() throws Exception {        MongoDB db = new MongoDB();        BasicDBObject obj = new BasicDBObject();        obj.put("name","weijiabin");        obj.put("sex","man");        obj.put("age",32);        db.add("db1","users",obj);        BasicDBObject objQ = new BasicDBObject("age",32);        DBObject objR = db.query("db1", "users", objQ);        assertEquals("weijiabin",objR.get("name"));    }}

看得出來,相當的簡單和易用。直接操作json資料結構,有xml的優點,同時比xml更適合網路傳輸。

mongodb初體驗

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.