日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Mongodb基础实践(二)

發(fā)布時(shí)間:2025/5/22 编程问答 265 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mongodb基础实践(二) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? 在前面的文章里面主要介紹了MongoDB的文檔,集合,數(shù)據(jù)庫(kù)等操作和對(duì)文檔的增、刪、改相關(guān)知識(shí),接下來(lái)會(huì)總結(jié)一點(diǎn)有關(guān)查詢的相關(guān)知識(shí)。

? 在MySQL中,我們知道數(shù)據(jù)查詢是優(yōu)化的主要內(nèi)容,讀寫分離等技術(shù)都是可以用來(lái)處理數(shù)據(jù)庫(kù)查詢優(yōu)化的,足以見數(shù)據(jù)庫(kù)查詢是每個(gè)系統(tǒng)中很重要的一部分,之前介紹了find的簡(jiǎn)單使用,下面會(huì)介紹一些相對(duì)比較復(fù)雜一點(diǎn)的查詢。

一、數(shù)據(jù)查詢

?MySQL數(shù)據(jù)庫(kù)中主要是用select 結(jié)合where子句實(shí)現(xiàn)數(shù)據(jù)的查詢,功能特別強(qiáng)大,例如多表聯(lián)合查詢、支持正則表達(dá)式等。不在這里做過(guò)多的相關(guān)介紹。這里主要介紹MongoDB的相關(guān)查詢,MongoDB中主要用find()實(shí)現(xiàn)數(shù)據(jù)的查詢,同時(shí)也可以使用一些條件限制。

1.1顯示單條數(shù)據(jù)

? 在上篇文章中提到了find()的使用,但是每次查詢數(shù)據(jù),都是查詢所有的,顯示其中的一部分,可以用it迭代。有時(shí)候我們想要查詢其中的一條數(shù)據(jù),具體操作要根據(jù)具體需求實(shí)現(xiàn)。

MongoDB 查詢數(shù)據(jù)的語(yǔ)法

db.collection.find(query,?projection)

??? query :可選,使用查詢操作符指定查詢條件
??? projection :可選,使用投影操作符指定返回的鍵。查詢時(shí)返回文檔中所有鍵值, 只需省略該參數(shù)即可(默認(rèn)省略)。可以使用 pretty() 方法以易讀的方式來(lái)讀取數(shù)據(jù),,語(yǔ)法格式如下

>db.col.find().pretty()

pretty() 方法以格式化的方式來(lái)顯示所有文檔。

例如:

db.winner.find().pretty() {?"_id"?:?ObjectId("592e7d1caaa464fa8a557e95"),?"winne"?:?1955?} {?"_id"?:?ObjectId("592e7d1eaaa464fa8a557e96"),?"winne"?:?1955?} {?"_id"?:?ObjectId("592e7d1faaa464fa8a557e97"),?"winne"?:?1955?} {?"_id"?:?ObjectId("592e7d1faaa464fa8a557e98"),?"winne"?:?1955?} {?"_id"?:?ObjectId("592e7d21aaa464fa8a557e99"),?"winne"?:?1955?} {?"_id"?:?ObjectId("592e7d22aaa464fa8a557e9a"),?"winne"?:?1955?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ec4"),?"winne"?:?41?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ec5"),?"winne"?:?42?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ec6"),?"winne"?:?43?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ec7"),?"winne"?:?44?}

1、查詢某個(gè)集合中的所有數(shù)據(jù)

db.winner.find() {?"_id"?:?ObjectId("592e7d1caaa464fa8a557e95"),?"winne"?:?1955?} {?"_id"?:?ObjectId("592e7d1eaaa464fa8a557e96"),?"winne"?:?1955?} {?"_id"?:?ObjectId("592e7d1faaa464fa8a557e97"),?"winne"?:?1955?} {?"_id"?:?ObjectId("592e7d1faaa464fa8a557e98"),?"winne"?:?1955?} {?"_id"?:?ObjectId("592e7d21aaa464fa8a557e99"),?"winne"?:?1955?} {?"_id"?:?ObjectId("592e7d22aaa464fa8a557e9a"),?"winne"?:?1955?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ec4"),?"winne"?:?41?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ec5"),?"winne"?:?42?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ec6"),?"winne"?:?43?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ec7"),?"winne"?:?44?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ec8"),?"winne"?:?45?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ec9"),?"winne"?:?46?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557eca"),?"winne"?:?47?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ecb"),?"winne"?:?48?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ecc"),?"winne"?:?49?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ecd"),?"winne"?:?50?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ece"),?"winne"?:?51?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ecf"),?"winne"?:?52?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ed0"),?"winne"?:?53?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ed1"),?"winne"?:?54?} Type?"it"?for?more

默認(rèn)顯示20條數(shù)據(jù),其他數(shù)據(jù)可以輸入it迭代。

2、顯示一條數(shù)據(jù)

?find()是輸出所有結(jié)果,里面可能有些文檔內(nèi)容相同,但是“_id”肯定是不一樣的,這時(shí)我們可以使用findOne()方法查詢,或者可以使用db.winner.find({winne:1955}).limit(1)。

db.winner.find({winne:1955}) {?"_id"?:?ObjectId("592e7d1caaa464fa8a557e95"),?"winne"?:?1955?} {?"_id"?:?ObjectId("592e7d1eaaa464fa8a557e96"),?"winne"?:?1955?} {?"_id"?:?ObjectId("592e7d1faaa464fa8a557e97"),?"winne"?:?1955?} {?"_id"?:?ObjectId("592e7d1faaa464fa8a557e98"),?"winne"?:?1955?} {?"_id"?:?ObjectId("592e7d21aaa464fa8a557e99"),?"winne"?:?1955?} {?"_id"?:?ObjectId("592e7d22aaa464fa8a557e9a"),?"winne"?:?1955?} 假如要查詢winner集合中winne=1955的一條數(shù)據(jù),而用find()查詢出所有的數(shù)據(jù),這時(shí)就可以使用findOne() db.winner.findOne({winne:1955}) {?"_id"?:?ObjectId("592e7d1caaa464fa8a557e95"),?"winne"?:?1955?}或者可以使用 db.winner.find({winne:1955}).limit(1) {?"_id"?:?ObjectId("592e7d1caaa464fa8a557e95"),?"winne"?:?1955?} 兩者的區(qū)別 findOne()有點(diǎn)類似MySQL里面的distinct,會(huì)返回查詢的第一條結(jié)果,如果搜索不到想要的數(shù)據(jù)就會(huì) 返回NULL, db.winner.findOne({winne:200888}) null db.winner.find({winne:1955}).limit(1)方法就和MySQL里面的limit是一樣的,主要是限制查詢結(jié)果的條數(shù)。

3、查詢滿足一定條件的數(shù)據(jù)

?在MySQL中查詢時(shí),可以結(jié)合where以及字段等信息查詢數(shù)據(jù),而MongoDB中也是可以的,同樣可以支持一些條件判斷語(yǔ)句。


格式范例RDBMS中的類似語(yǔ)句
等于{<key>:<value>}db.col.find({"winne":"1995"}).pretty()where winne = '50'
小于{<key>:{$lt:<value>}}db.col.find({"winne":{$lt:50}}).pretty()where winne < 50
小于或等于{<key>:{$lte:<value>}}db.col.find({"winne":{$lte:50}}).pretty()where winne <= 50
大于{<key>:{$gt:<value>}}db.col.find({"winne":{$gt:50}}).pretty()where winne > 50
大于或等于{<key>:{$gte:<value>}}db.col.find({"winne":{$gte:50}}).pretty()where winne >= 50
不等于{<key>:{$ne:<value>}}db.col.find({"winne":{$ne:50}}).pretty()where winne != 50
$gt?--------?greater?than???$gte?---------?gt?equal $lt?--------?less?than??????$lte?---------?lt?equal $ne?-----------?not?equal1、查詢winner集合中winne<50的相關(guān)數(shù)據(jù)db.winner.find({winne:{$lt?:50}}) {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ec4"),?"winne"?:?41?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ec5"),?"winne"?:?42?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ec6"),?"winne"?:?43?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ec7"),?"winne"?:?44?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ec8"),?"winne"?:?45?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ec9"),?"winne"?:?46?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557eca"),?"winne"?:?47?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ecb"),?"winne"?:?48?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ecc"),?"winne"?:?49?} {?"_id"?:?ObjectId("592e7e17aaa464fa8a557f28"),?"winne"?:?41?} {?"_id"?:?ObjectId("592e7e17aaa464fa8a557f29"),?"winne"?:?42?} {?"_id"?:?ObjectId("592e7e17aaa464fa8a557f2a"),?"winne"?:?43?} {?"_id"?:?ObjectId("592e7e17aaa464fa8a557f2b"),?"winne"?:?44?} 2、查詢winner集合中40=<winne<50的相關(guān)數(shù)據(jù) db.winner.find({winne:{$gte:40,$lt:45}}) {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ec4"),?"winne"?:?41?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ec5"),?"winne"?:?42?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ec6"),?"winne"?:?43?} {?"_id"?:?ObjectId("592e7e14aaa464fa8a557ec7"),?"winne"?:?44?} {?"_id"?:?ObjectId("592e7e17aaa464fa8a557f28"),?"winne"?:?41?} {?"_id"?:?ObjectId("592e7e17aaa464fa8a557f29"),?"winne"?:?42?} {?"_id"?:?ObjectId("592e7e17aaa464fa8a557f2a"),?"winne"?:?43?} {?"_id"?:?ObjectId("592e7e17aaa464fa8a557f2b"),?"winne"?:?44?} {?"_id"?:?ObjectId("592e7e18aaa464fa8a557f8c"),?"winne"?:?41?} {?"_id"?:?ObjectId("592e7e18aaa464fa8a557f8d"),?"winne"?:?42?} {?"_id"?:?ObjectId("592e7e18aaa464fa8a557f8e"),?"winne"?:?43?} {?"_id"?:?ObjectId("592e7e18aaa464fa8a557f8f"),?"winne"?:?44?}

4、MongoDB AND 條件

MongoDB 的 find() 方法可以傳入多個(gè)鍵(key),每個(gè)鍵(key)以逗號(hào)隔開,語(yǔ)法格式如下:

>db.winner.find({key1:value1, key2:value2}).pretty()

#插入測(cè)試數(shù)據(jù) for(i=0;i<20;i++)db.info2.insert({name:"linux", object:"SA", company:"docker", phone:i}) for(i=0;i<20;i++)db.info2.insert({name:"openstack", object:"DBA", company:"could", phone:i})#檢查測(cè)試數(shù)據(jù) >?db.info2.find() db.info2.find() {?"_id"?:?ObjectId("592f838dd276944818f7edb4"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?0?} {?"_id"?:?ObjectId("592f838dd276944818f7edb5"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?1?} {?"_id"?:?ObjectId("592f838dd276944818f7edb6"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?2?} {?"_id"?:?ObjectId("592f838dd276944818f7edb7"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?3?} {?"_id"?:?ObjectId("592f838dd276944818f7edb8"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?4?} {?"_id"?:?ObjectId("592f838dd276944818f7edb9"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?5?} {?"_id"?:?ObjectId("592f838dd276944818f7edba"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?6?} {?"_id"?:?ObjectId("592f838dd276944818f7edbb"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?7?} {?"_id"?:?ObjectId("592f838dd276944818f7edbc"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?8?} {?"_id"?:?ObjectId("592f838dd276944818f7edbd"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?9?} {?"_id"?:?ObjectId("592f838dd276944818f7edbe"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?10?} {?"_id"?:?ObjectId("592f838dd276944818f7edbf"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?11?} {?"_id"?:?ObjectId("592f838dd276944818f7edc0"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?12?} {?"_id"?:?ObjectId("592f838dd276944818f7edc1"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?13?} {?"_id"?:?ObjectId("592f838dd276944818f7edc2"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?14?} {?"_id"?:?ObjectId("592f838dd276944818f7edc3"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?15?} {?"_id"?:?ObjectId("592f838dd276944818f7edc4"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?16?} {?"_id"?:?ObjectId("592f838dd276944818f7edc5"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?17?} {?"_id"?:?ObjectId("592f838dd276944818f7edc6"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?18?} {?"_id"?:?ObjectId("592f838dd276944818f7edc7"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?19?} >db.info2.find().count()??#檢查數(shù)據(jù)的條數(shù) 40 #篩選name=linux?object=SA?phone<5 db.info2.find({name:"linux",object:"SA",phone:{$lt:5}})執(zhí)行db.info2.find({name:"linux",object:"SA",phone:{$lt:5}}) {?"_id"?:?ObjectId("592f838dd276944818f7edb4"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?0?} {?"_id"?:?ObjectId("592f838dd276944818f7edb5"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?1?} {?"_id"?:?ObjectId("592f838dd276944818f7edb6"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?2?} {?"_id"?:?ObjectId("592f838dd276944818f7edb7"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?3?} {?"_id"?:?ObjectId("592f838dd276944818f7edb8"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?4?} 篩選name=linux?object=SA???5<phone<=10 db.info2.find({name:"linux",object:"SA",phone:{"$gt":5,"$lte":10}}) db.info2.find({name:"linux",object:"SA",phone:{"$gt":5,"$lte":10}}) {?"_id"?:?ObjectId("592f838dd276944818f7edba"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?6?} {?"_id"?:?ObjectId("592f838dd276944818f7edbb"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?7?} {?"_id"?:?ObjectId("592f838dd276944818f7edbc"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?8?} {?"_id"?:?ObjectId("592f838dd276944818f7edbd"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?9?} {?"_id"?:?ObjectId("592f838dd276944818f7edbe"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?10?} 篩選??5<phone<=10 db.info2.find({phone:{"$gt":5,"$lte":10}}) {?"_id"?:?ObjectId("592f838dd276944818f7edba"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?6?} {?"_id"?:?ObjectId("592f838dd276944818f7edbb"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?7?} {?"_id"?:?ObjectId("592f838dd276944818f7edbc"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?8?} {?"_id"?:?ObjectId("592f838dd276944818f7edbd"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?9?} {?"_id"?:?ObjectId("592f838dd276944818f7edbe"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?10?} {?"_id"?:?ObjectId("592f838fd276944818f7edce"),?"name"?:?"openstack",?"object"?:?"DBA",?"company"?:?"could",?"phone"?:?6?} {?"_id"?:?ObjectId("592f838fd276944818f7edcf"),?"name"?:?"openstack",?"object"?:?"DBA",?"company"?:?"could",?"phone"?:?7?} {?"_id"?:?ObjectId("592f838fd276944818f7edd0"),?"name"?:?"openstack",?"object"?:?"DBA",?"company"?:?"could",?"phone"?:?8?} {?"_id"?:?ObjectId("592f838fd276944818f7edd1"),?"name"?:?"openstack",?"object"?:?"DBA",?"company"?:?"could",?"phone"?:?9?} {?"_id"?:?ObjectId("592f838fd276944818f7edd2"),?"name"?:?"openstack",?"object"?:?"DBA",?"company"?:?"could",?"phone"?:?10?}

5 MongoDB OR 條件
MongoDB 除了有類似MySQL的AND條件語(yǔ)句外,還有OR 條件語(yǔ)句,OR 條件語(yǔ)句使用了關(guān)鍵字 $or,語(yǔ)法格式如下:
>db.collections.find(
?? {
????? $or: [
?? ????? {key1: value1}, {key2:value2}
????? ]
?? }
).pretty()

#查name=linux?或者object=redis db.info2.find( {$or:[{name:"linux"},{object:"redis"}]} ) db.info2.find(db.info2.find( ...?{$or:[{name:"linux"},{object:"redis"}]{$or:[{name:"linux"},{object:"redis"}] ...? ...?}} ...?)) {?"_id"?:?ObjectId("592f838dd276944818f7edb4"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?0?} {?"_id"?:?ObjectId("592f838dd276944818f7edb5"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?1?} {?"_id"?:?ObjectId("592f838dd276944818f7edb6"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?2?} {?"_id"?:?ObjectId("592f838dd276944818f7edb7"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?3?} {?"_id"?:?ObjectId("592f838dd276944818f7edb8"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?4?} {?"_id"?:?ObjectId("592f838dd276944818f7edb9"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?5?} {?"_id"?:?ObjectId("592f838dd276944818f7edba"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?6?} {?"_id"?:?ObjectId("592f838dd276944818f7edbb"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?7?} {?"_id"?:?ObjectId("592f838dd276944818f7edbc"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?8?} {?"_id"?:?ObjectId("592f838dd276944818f7edbd"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?9?} {?"_id"?:?ObjectId("592f838dd276944818f7edbe"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?10?} {?"_id"?:?ObjectId("592f838dd276944818f7edbf"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?11?} {?"_id"?:?ObjectId("592f838dd276944818f7edc0"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?12?} {?"_id"?:?ObjectId("592f838dd276944818f7edc1"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?13?} {?"_id"?:?ObjectId("592f838dd276944818f7edc2"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?14?} {?"_id"?:?ObjectId("592f838dd276944818f7edc3"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?15?} {?"_id"?:?ObjectId("592f838dd276944818f7edc4"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?16?} {?"_id"?:?ObjectId("592f838dd276944818f7edc5"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?17?} {?"_id"?:?ObjectId("592f838dd276944818f7edc6"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?18?} {?"_id"?:?ObjectId("592f838dd276944818f7edc7"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?19?} Type?"it"?for?more >?itit {?"_id"?:?ObjectId("592f8964d276944818f7eddc"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?0?} {?"_id"?:?ObjectId("592f8964d276944818f7eddd"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?1?} {?"_id"?:?ObjectId("592f8964d276944818f7edde"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?2?} {?"_id"?:?ObjectId("592f8964d276944818f7eddf"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?3?} {?"_id"?:?ObjectId("592f8964d276944818f7ede0"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?4?} {?"_id"?:?ObjectId("592f8964d276944818f7ede1"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?5?} {?"_id"?:?ObjectId("592f8964d276944818f7ede2"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?6?} {?"_id"?:?ObjectId("592f8964d276944818f7ede3"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?7?} {?"_id"?:?ObjectId("592f8964d276944818f7ede4"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?8?} {?"_id"?:?ObjectId("592f8964d276944818f7ede5"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?9?}

6、AND和OR綜合使用

查詢phone<5,name=MongoDB或者name=linux

db.info2.find({phone:{$lt:5},$or:[{name:"MongoDB"},{name:"linux"}]}) db.info2.find({phone:{$lt:5},$or:[{name:"MongoDB"},{name:"linux"}]}) {?"_id"?:?ObjectId("592f838dd276944818f7edb4"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?0?} {?"_id"?:?ObjectId("592f838dd276944818f7edb5"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?1?} {?"_id"?:?ObjectId("592f838dd276944818f7edb6"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?2?} {?"_id"?:?ObjectId("592f838dd276944818f7edb7"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?3?} {?"_id"?:?ObjectId("592f838dd276944818f7edb8"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?4?} {?"_id"?:?ObjectId("592f8964d276944818f7eddc"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?0?} {?"_id"?:?ObjectId("592f8964d276944818f7eddd"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?1?} {?"_id"?:?ObjectId("592f8964d276944818f7edde"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?2?} {?"_id"?:?ObjectId("592f8964d276944818f7eddf"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?3?} {?"_id"?:?ObjectId("592f8964d276944818f7ede0"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?4?}

7、查詢結(jié)果排序

在MySQL中是有order by條件,可以根據(jù)desc或者asc進(jìn)行升序或者降序操作,而MongoDB中是可以利用sort()方法實(shí)現(xiàn)排序的,例如對(duì)6中的結(jié)果處理,根據(jù)phone排序。

基本語(yǔ)法

db.info2.find().sort({phone:1}) #這里phone表示根據(jù)該key排序,1表示升序,-1表示降序

db.info2.find({phone:{$lt:5},$or:[{name:"MongoDB"},{name:"linux"}]}).sort({phone:1}) {?"_id"?:?ObjectId("592f838dd276944818f7edb4"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?0?} {?"_id"?:?ObjectId("592f8964d276944818f7eddc"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?0?} {?"_id"?:?ObjectId("592f838dd276944818f7edb5"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?1?} {?"_id"?:?ObjectId("592f8964d276944818f7eddd"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?1?} {?"_id"?:?ObjectId("592f838dd276944818f7edb6"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?2?} {?"_id"?:?ObjectId("592f8964d276944818f7edde"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?2?} {?"_id"?:?ObjectId("592f838dd276944818f7edb7"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?3?} {?"_id"?:?ObjectId("592f8964d276944818f7eddf"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?3?} {?"_id"?:?ObjectId("592f838dd276944818f7edb8"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?4?} {?"_id"?:?ObjectId("592f8964d276944818f7ede0"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?4?}

8、MongoDB Skip() 方法

在前面介紹了limit(),sort(),count()等方法,接下來(lái)要介紹一個(gè)比較有趣的skip()方法,在使用limit()的時(shí)候可以顯示你要求的幾條,而skip()方法是跳過(guò)幾條。

db.info2.find({phone:{$lt:5},$or:[{name:"MongoDB"},{name:"linux"}]}).sort({phone:1}) {?"_id"?:?ObjectId("592f838dd276944818f7edb4"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?0?} {?"_id"?:?ObjectId("592f8964d276944818f7eddc"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?0?} {?"_id"?:?ObjectId("592f838dd276944818f7edb5"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?1?} {?"_id"?:?ObjectId("592f8964d276944818f7eddd"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?1?} {?"_id"?:?ObjectId("592f838dd276944818f7edb6"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?2?} {?"_id"?:?ObjectId("592f8964d276944818f7edde"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?2?} {?"_id"?:?ObjectId("592f838dd276944818f7edb7"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?3?} {?"_id"?:?ObjectId("592f8964d276944818f7eddf"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?3?} {?"_id"?:?ObjectId("592f838dd276944818f7edb8"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?4?} {?"_id"?:?ObjectId("592f8964d276944818f7ede0"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?4?} 使用skip()方法 db.info2.find({phone:{$lt:5},$or:[{name:"MongoDB"},{name:"linux"}]}).sort({phone:1}).skip(3) {?"_id"?:?ObjectId("592f8964d276944818f7eddd"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?1?} {?"_id"?:?ObjectId("592f838dd276944818f7edb6"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?2?} {?"_id"?:?ObjectId("592f8964d276944818f7edde"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?2?} {?"_id"?:?ObjectId("592f838dd276944818f7edb7"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?3?} {?"_id"?:?ObjectId("592f8964d276944818f7eddf"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?3?} {?"_id"?:?ObjectId("592f838dd276944818f7edb8"),?"name"?:?"linux",?"object"?:?"SA",?"company"?:?"docker",?"phone"?:?4?} {?"_id"?:?ObjectId("592f8964d276944818f7ede0"),?"name"?:?"MongoDB",?"object"?:?"redis",?"company"?:?"winner",?"phone"?:?4?} skip?方法有點(diǎn)類似于MySQL里面的limit之間間隔情況。

這里介紹了有關(guān)查詢的問(wèn)題,在數(shù)據(jù)庫(kù)中,查詢是非常重要的一部分,所以介紹的篇幅也是比較多的,后期遇到其他問(wèn)題也會(huì)繼續(xù)總結(jié)輸出。

轉(zhuǎn)載于:https://blog.51cto.com/dreamlinux/1931384

總結(jié)

以上是生活随笔為你收集整理的Mongodb基础实践(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产在线a| 海角社区id | 美女av片| 国产剧情av引诱维修工 | 中文字字幕第183页 欧美特级一级片 | 最新99热| 日本午夜一级 | 日韩在线一级片 | 蜜桃精品久久久久久久免费影院 | 超碰97在线免费观看 | 欧美性猛交乱大交 | 五月天婷婷视频 | 欧美天天爽 | 丝袜 亚洲 另类 国产 制服 | 国产一区二区三区电影在线观看 | 97精品国产露脸对白 | 日本www高清 | 男人天堂2021 | 日韩精品成人av | 日韩三级免费观看 | 国模av| 最新色视频 | 黄色激情毛片 | 亚洲成人av网址 | 午夜视频网址 | 91精产品一区观看 | 国产免费视屏 | 日韩wwww| 91蜜桃在线| 亚洲一区二区三区久久久 | 在线看免费 | www.成人在线 | 日韩亚洲欧美精品 | 少妇无码一区二区三区 | 在线观看特色大片免费网站 | 天天躁狠狠躁狠狠躁夜夜躁68 | 欧美黄色一级网站 | 午夜在线免费视频 | 亚洲电影影音先锋 | 国产一区二区黑人欧美xxxx | 成人午夜免费福利 | 国产不卡av在线播放 | 国精品一区二区三区 | 在线观看aaa | 欧美两根一起进3p做受视频 | 亚洲a图| 日韩女优在线观看 | 国产女人高潮毛片 | 亚洲中文字幕久久无码 | 欧美激情一区二区在线 | 青青青在线视频观看 | 久久精品大全 | 久久久国产精品人人片 | 成人一二三 | 国产jk精品白丝av在线观看 | 私库av在线 | 国产一区不卡在线观看 | yjizz视频| 久久精品免费 | 色屁屁一区二区三区 | 91国偷自产中文字幕久久 | 色网址在线 | 一区二区三区视频免费看 | 91影院在线观看 | 色夜av| 男人和女人插插 | 中文字幕在线不卡 | 久草电影网站 | 亚州精品视频 | 一区视频网站 | 琪琪电影午夜理论片八戒八戒 | 欧美日韩一区二区综合 | sm调教羞耻姿势图片 | 最污网站在线观看 | 精品中文字幕在线播放 | 女女互慰吃奶互揉调教捆绑 | 美女屁股眼视频网站 | 久久久久爱 | 国产永久视频 | 67194成人在线观看 | 免费在线播放毛片 | 人人射av| 日韩一区高清 | 黄色www| 欧美黄色录像带 | 久久99精品国产.久久久久 | 曰本三级日本三级日本三级 | 久久久久9999| 日韩一级久久 | 亚洲射色 | 国产伦精品一区二区三区免费 | 亚洲第一av | 亚洲成人网络 | 最新三级网站 | aaaaa级少妇高潮大片免费看 | 成年黄色片 | 一级女人毛片 | 欧美h在线观看 | 国产a网站 |