db.tb1.find() //查詢全部,用it查看下一頁。
db.tb1.find({"age":1}) //查詢年齡==1的記錄
db.tb1.find({},{"age":1}) //查詢年齡==1的記錄
db.tb1.find({"name":{$all:["a","b"]}}) //查詢name含有a,b的記錄
db.tb1.find({"name":{$exists:true}}) //查詢存在name字段的記錄。
db.tb1.find({"age":{$nin:[12,14]}}) //查詢age不含12,14值的記錄。
db.tb1.find({name) //查詢name含a字母的記錄
.......
總結如下:
查詢格式如下:Db.collection.find({“field”: { operator: val}})
field為colleciton的字段名,operator為操作符,val為比較值。
operator有如下:
$gt,$gte,$lt,$lte: val v1.
$all :都有, val {v1,v2,v3...}
$exists:存在, val true/false;
$ne :不等於, val v1
$mod: 取模。 Val [v1取模數,v2余數]
$in :包含某值,val [v1,v2,v3...]
$nin :不包含某值,val [v1,v2,v3...]
$size: 指定長度數組, val v1
$regex: 正則查詢,val v1 :通配符查詢:/s/ ,但是s/,/是這樣語法錯誤。
Javascript查詢: 編寫function,然后查詢。
>Find(條件).count() / limit(v) /skip(v) /sort({“field”: 1/-1},{“field2”: 1/-1}...)
分頁查詢,通過limit,skip,sort組合進行分頁查詢。
如每頁X條,第N頁
> Find(條件).SKIP * X).Limit(X).SORT.
distinct: 查詢指定鍵的不同值。db.runCommand({"distinct":”集合名","key":"字段名"})
group: 較復雜。