MongoDB的學習與應用四:MongoDB中的BSON以及CRUD


     BSON

     BSON是在MongoDB中用來存儲數據和網絡數據交換的一種類JSON的二進制形式的存儲格式,簡稱Binary JSON,相比JSON而言,BSON支持更多、更復雜的數據類型,比如Date和BinData等類型;同樣,也兼有很多優點:輕量型、可遍歷性、高效性。

    MongoDB使用BSON這種數據結構轉化爲文檔(Document),是因爲其schema-free(模式自由)的特性,無需定義任何結構,可以把完全不同結構的文件存儲到一個數據庫中。如下MongoDB中常見BSON格式的Document樣例:
{
    title:"MongoDB",
    last_modified:new Date(),
    last_editor:"jizg",
    content:"test for",
    status:"Deleted"
}


CRUD

    BSON格式的數據在MongoDB中是無處不用的,是最基礎的。接下來通過MongoDB自帶的shell來看一下數據庫必備技能CRUD的使用。假設有個名爲blog的數據庫,其裏邊有個名爲user的集合(集合相當於表)。現在要往blog的user中插入10個文檔(基本屬性爲uid、userName ),如下:

 代碼樣例
數據插入操作
insert
1.首先切換到blog數據庫: use blog
2.創建user 集合:db.createCollection('user')
3.向集合中插入數據:
for(i=0;i<11;i++){
   db.user.insert({uid:i,userName:'jizg'+i});
}
數據查詢操作
find
1. 查詢集合所有數據: db.user.find()
2. 查詢uid爲1的數據: db.user.find({uid:1}) 或 db.user.findOne({uid:1})
3. 不顯示_id,按uid降序並只取前5條數據:
db.user.find({}, {_id : 0}).sort({uid : -1}).limit(5)

數據修改操作
update
1. 修改uid爲2的數據,修改其userName爲lfsfxy9:
db.user.update({uid:2},{$set:{userName:'lfsfxy9'}})

數據刪除操作
delete
1. 刪除uid爲2,name爲lfsfxy9的數據:
db.user.remove({uid:2,userName:'lfsfxy9'})
2. 如果不給指令設置參數,則會把user集合的數據全部刪除


    當然這是最簡單的操作樣例,在實際應用中,還會涉及到批量操作以及很多關係型數據庫中普遍遇到過的問題。


參考:






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章