1.選擇和建立數據庫正則表達式
use 數據庫名稱
use spitdb
2.插入與查詢文檔
(1)插入文檔的語法格式:
db.集合名稱.insert(數據);
db.spit.insert({content:"我愛中國",userid:"1011",nickname:"肖俊",visits:NumberInt(902)})
(2)查詢集合的語法格式:
db.集合名稱.find()
db.spit.find()
(3)若是我想按必定條件來查詢,好比我想查詢userid爲1013的記錄,怎麼辦?很簡單!只要在find()中添加參數便可,參數也是json格式,以下:
db.spit.find({userid:'1013'})
(4)若是你只須要返回符合條件的第一條數據,咱們可使用findOne命令來實現
db.spit.findOne({userid:'1013'})
(5)若是你想返回指定條數的記錄,能夠在find方法後調用limit來返回結果
db.spit.find().limit(3)
3.修改與刪除文檔
修改文檔的語法結構
db.集合名稱.update(條件,修改後的數據)
若是咱們想修改_id爲1的記錄,瀏覽量爲1000,輸入如下語句:
db.spit.update({_id:"1"},{visits:NumberInt(1000)})
執行後,咱們會發現,這條文檔除了visits字段其它字段都不見了,爲了解決這個問題,咱們須要使用修改器
$set來實現,命令以下:
db.spit.update({_id:"2"},{$set:{visits:NumberInt(2000)}})
刪除文檔的語法結構:
db.集合名稱.remove(條件)
如下語句能夠將數據所有刪除,請慎用
db.spit.remove({})
若是刪除visits=1000的記錄,輸入如下語句
db.spit.remove({visits:1000})
4 統計條數
統計記錄條件使用
count()方法。如下語句統計spit集合的記錄數
db.spit.count()
若是按條件統計 ,例如:統計userid爲1013的記錄條數
db.spit.count({userid:"1013"})
5 模糊查詢
MongoDB的模糊查詢是經過正則表達式的方式實現的。格式爲:
/模糊查詢字符串/
例如,我要查詢吐槽內容包含「流量」的全部文檔,代碼以下:
db.spit.find({content:/流量/})
若是要查詢吐槽內容中以「加班」開頭的,代碼以下:
db.spit.find({content:/^加班/})
6.大於 小於 不等於
db.集合名稱.find({ "field" : { $gt: value }}) // 大於: field > value
db.集合名稱.find({ "field" : { $lt: value }}) // 小於: field < value
db.集合名稱.find({ "field" : { $gte: value }}) // 大於等於: field >= value
db.集合名稱.find({ "field" : { $lte: value }}) // 小於等於: field <= value
db.集合名稱.find({ "field" : { $ne: value }}) // 不等於: field != value
示例:查詢吐槽瀏覽量大於1000的記錄
db.spit.find({visits:{$gt:1000}})
7.包含與不包含
包含使用
$in操做符。
示例:查詢吐槽集合中userid字段包含1013和1014的文檔
db.spit.find({userid:{$in:["1013","1014"]}})
不包含使用
$nin操做符。
示例:查詢吐槽集合中userid字段不包含1013和1014的文檔
db.spit.find({userid:{$nin:["1013","1014"]}})
8.條件鏈接
咱們若是須要查詢同時知足兩個以上條件,須要使用
$and操做符將條件進行關聯。(至關於SQL的and)
格式爲:
$and:[ { },{ },{ } ]
示例:查詢吐槽集合中visits大於等於1000 而且小於2000的文檔
db.spit.find({$and:[ {visits:{$gte:1000}} ,{visits:{$lt:2000} }]})
若是兩個以上條件之間是或者的關係,咱們使用操做符進行關聯,與前面and的使用方式相同
格式爲:
$or:[ { },{ },{ } ]
示例:查詢吐槽集合中userid爲1013,或者瀏覽量小於2000的文檔記錄
db.spit.find({$or:[ {userid:"1013"} ,{visits:{$lt:2000} }]})
9 列值增加
若是咱們想實現對某列值在原有值的基礎上進行增長或減小,可使用
$inc運算符來實現
db.spit.update({_id:"2"},{$inc:{visits:NumberInt(1)}} )