今天繼續(xù)學(xué)習(xí)MongoDB的相關(guān)知識(shí),主要包含例如以下:
--find具體解釋
--分頁與排序
--游標(biāo)和其它知識(shí)
1.指定返回的鍵
db.person.find({},{"_id":0,"name":1,"country":1})這樣就僅僅把name鍵和country鍵查詢出來了,注意其它的假設(shè)不寫默認(rèn)不顯示,可是假設(shè)_id假設(shè)不寫,默認(rèn)是顯示的.
2.查詢條件
db.person.find({"age":{$gte:25,$lte:27}},{"_id":0,"name":1,"country":1})查詢年齡在25-27歲之間的學(xué)生的name和country.
db.person.find({"country":{$ne:"Korea"}},{"_id":0,"Math":1})查詢?nèi)坎皇琼n國(guó)學(xué)生的數(shù)學(xué)成績(jī)
3.包括或不包括
$in 或 $nin
db.person.find({"country":{$in:["USA","China"]}},{"_id":0,"Math":1})查詢國(guó)籍是美國(guó)或者中國(guó)的學(xué)生數(shù)學(xué)成績(jī)
db.person.find({"country":{$nin:["USA","China"]}},{"_id":0,"Math":1})查詢國(guó)籍不是美國(guó)或者中國(guó)的學(xué)生的數(shù)學(xué)成績(jī)
4.or查詢
$or
db.person.find({$or:[{"Chinese":{$gt:85}},{"English":{$gt:90}}]},{"_id":0,"name":1,"Chinese":1,"English":1})查詢語文成績(jī)大于85或者英語吧成績(jī)大于90的學(xué)生信息
5.正則查詢
db.person.find({name:/li/i},{"_id":0,"name":1})查詢出名字中含有"li"的學(xué)生的姓名
6. $not的使用
db.person.find({name:{$not:/li/i}},{"_id":0,"name":1})查詢出名字中不含有"li"的學(xué)生的姓名
注意:$not和$nin的差別在于:$not能夠用在不論什么地方,而$nin僅僅能夠用在集合上
7.數(shù)組查詢$all和index應(yīng)用
查詢喜歡看MongoDB和JS這兩本書的學(xué)生
db.person.find({books:{$all:["MongoDB","JS"]}},{"_id":0,"name":1})
查詢第二本書是 JAVA的學(xué)生信息
db.person.find({"books.1":"JAVA"})
8.查詢指定長(zhǎng)度數(shù)組size
db.person.find({"books":{$size:4}})
9.查詢出jim的書籍的數(shù)量
var jim = db.person.find("name":"jim") while(jim.hasNext()){ obj = jim.next(); print(obj.books.length) }10.$slice操作符返回文檔指定數(shù)組的內(nèi)部值
查詢出jim書架中的第2-4本書
db.person.find({"name":"jim"},{books:{$slice:[1,3]}})
查詢出最后一本書
db.person.find({"name":"jim"},{books:{$slice:-1}})
這次先到這,下次繼續(xù),游標(biāo)與排序.
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
