mongodb教程(一)

mongodb是屬於nosql,在介紹之前還是要mark一下RDBMS和NOSQL的區別。RDBMS主要存儲結構化的數據,數據主要存儲在表中,要查詢數據必須使用結構化的SQL語句,有着嚴格的一致性要求。而NOSQL是存儲非結構化的,非預知的數據,數據量大,數據結構多樣,數據是以鍵值對的方式存儲,並且是最終一致性,也就是非嚴格一致性。從查詢效率上比較,NOSQL要遠遠大於RDBMS。

學習的時候下載一個NosqlBooster For Mongo桌面工具,使用比較方便,工具長這樣:

創建數據庫
use penn
刪除數據庫
db.dropDatabase();
創建集合
db.createCollection("penn",{capped:false,autoIndexId:true});
刪除集合
db.createCollection("penn_test",{capped:false,autoIndexId:true});
db.penn_test.drop();
創建索引
db.getCollection("students").createIndex({ "stuedentId": 1 }, { "unique": true });
db.students.createIndex({ "stuedentCode": 1 }, { "unique": true });
插入數據
db.students.insert({stuedentId:100000,stuedentCode:100608066,studentName:'張三'});
再插入一條
db.students.insert({stuedentId:100001,stuedentCode:100608067,studentName:'嚴四'});
查找所有【排序,limit,跳過】
db.students.find({});
db.students.sort({_id:-1});
db.students.limit(2);
db.students.limit(1).skip(1);
條件查詢
db.students.find({studentName:'嚴四'});
條件查詢【控制類的顯示與否】
db.students.find({studentName:'嚴四'},{name:1,_id:0});
type查詢
db.penn.find({name:{$type:'string'}})
比較查詢
db.penn.find({age:{$lt:30}});
db.penn.find({age:{$gt:30}});
db.penn.find({age:{$gte:29}});
db.penn.find({age:{$eq:29}});
db.penn.find({age:{$ne:29}});
or查詢
db.students.find({
    "$or":[{studentName:'張三'},{studentName:'嚴四'}]
});
查詢數量
db.students.count();
查詢存在改字段的數據
db.students.find({"studentName":{$exists:true}});
and查詢
db.students.find({
    "$and":[{"studentName":'張三'},{"male":"男"}]
})
條件更新【第一個Boolean是不存在是否更新,第二個Boolean是是否更新所有記錄】
db.students.update({"studentName":'張三'},{$set:{"male":'男'}},true,true);

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