標籤:mongodb tokumx nosql
今天繼續學習MongoDB的相關知識,主要包括如下:
--find詳解
--分頁與排序
--遊標和其他知識
1.指定返回的鍵
db.person.find({},{"_id":0,"name":1,"country":1})這樣就只把name鍵和country鍵查詢出來了,注意其他的如果不寫預設不顯示,但是如果_id如果不寫,預設是顯示的.
2.查詢條件
db.person.find({"age":{$gte:25,$lte:27}},{"_id":0,"name":1,"country":1})查詢年齡在25-27歲之間的學生的name和country.
db.person.find({"country":{$ne:"Korea"}},{"_id":0,"Math":1})查詢所有不是韓國學生的數學成績
3.包含或不包含
$in 或 $nin
db.person.find({"country":{$in:["USA","China"]}},{"_id":0,"Math":1})查詢國籍是美國或者中國的學生數學成績
db.person.find({"country":{$nin:["USA","China"]}},{"_id":0,"Math":1})查詢國籍不是美國或者中國的學生的數學成績
4.or查詢
$or
db.person.find({$or:[{"Chinese":{$gt:85}},{"English":{$gt:90}}]},{"_id":0,"name":1,"Chinese":1,"English":1})查詢語文成績大於85或者英語吧成績大於90的學生資訊
5.正則查詢
db.person.find({name:/li/i},{"_id":0,"name":1})查詢出名字中含有"li"的學生的姓名
6. $not的使用
db.person.find({name:{$not:/li/i}},{"_id":0,"name":1})查詢出名字中不含有"li"的學生的姓名
注意:$not和$nin的區別在於:$not可以用在任何地方,而$nin只可以用在集合上
7.數組查詢$all和index應用
查詢喜歡看MongoDB和JS這兩本書的學生
db.person.find({books:{$all:["MongoDB","JS"]}},{"_id":0,"name":1})
查詢第二本書是 JAVA的學生資訊
db.person.find({"books.1":"JAVA"})
8.查詢指定長度數組size
db.person.find({"books":{$size:4}})
9.查詢出jim的書籍的數量
var jim = db.person.find("name":"jim")while(jim.hasNext()){ obj = jim.next(); print(obj.books.length)}
10.$slice操作符返迴文檔指定數組的內部值
查詢出jim書架中的第2-4本書
db.person.find({"name":"jim"},{books:{$slice:[1,3]}})
查詢出最後一本書
db.person.find({"name":"jim"},{books:{$slice:-1}})
這次先到這,下次繼續,遊標與排序.
MongoDB學習筆記<四>