<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
今天不討論使用自帶 UI 介面的連線工具,僅討論使用命令列查詢 MongoDB 資料庫的情況。在排查問題的時候,很多時候直接使用命令列更加方便。但是有一個前提,我們必須首先掌握 MongoDB 資料庫命令列常用命令才行,本文以條件查詢為例進行介紹。
首先,使用命令列連線資料庫,命令如下:
mongo 127.0.0.1:27017
輸出如下結果表示連線成功:
檢視資料倉儲列表,命令如下:
show dbs
查詢結果如下:
進入對應的資料倉儲,就可以檢視其中的資料庫表了,我們以資料倉儲 bag 為例進行說明,進入或者選中資料倉儲命令如下:
use bag
然後有兩種方式檢視資料庫表,命令如下:
方式一、tables命令
show tables
查詢結果如下:
方式二、cellections命令
show cellections
通過上面的命令,我們已經知道了資料庫中的資料表,接下來就可以檢視每個表中具體的內容了,我們以 files 表為例進行說明,查詢命令如下:
db.files.find()
查詢結果如下:
PS:查詢內容只擷取了部分。
此時,雖然我們檢視到了表中的內容,但是閱讀起來不是很方便。有沒有方法讓查詢結果更加直觀呢?答案是,有的。具體命令如下:
db.files.find().pretty()
查詢結果如下:
其實,pretty() 方法就是用來格式化顯示檔案的。
倒序查詢
更多的時候,我們比較關心新新增的檔案記錄,因此,查詢的時候最好可以倒序查詢檔案記錄。此時,sort() 方法就被用到了,我們以 _id 屬性為例進行說明,命令如下:
db.files.find().sort({_id:-1})
查詢結果如下:
每次查詢的內容顯示的條目有些多,其實,我們也可以自定義查詢結果的數量。此時,我們就要用到 limit() 方法了,命令如下:
db.files.find().sort({_id:-1}).limit(3)
查詢結果如下:
條件查詢
我們按照自己的需要,根據具體的屬性查詢自己想要的結果,這裡演示一個例子。我們先查詢視訊時長最大的兩個檔案記錄,命令如下:
db.files.find().pretty().sort({duration:-1}).limit(2)
查詢結果如下:
根據查詢結果,我們可以知道時長最長的記錄分別是 6980秒、1556秒。那麼,我們查詢時長大於 3000秒的記錄肯定只有一個,那麼我們就來試一下,命令如下:
db.files.find({"duration":{$gt:3000}}).pretty()
查詢結果如下:
Nice,和我們預想的一樣,命令列非常好使。
這裡列一下關於 等於、小於、小於等於、大於、大於等於、不等於 的命令範例,以後檢視就非常方便了。
操作 | 格式 | 範例 | RDBMS中的類似語句 |
---|---|---|---|
等於 | {<key>:<value> } | db.col.find({"duration":"6980"}).pretty() | where duration = '6980' |
小於 | {<key>:{$lt:<value>}} | db.col.find({"duration":{$lt:50}}).pretty() | where likes < 50 |
小於或等於 | {<key>:{$lte:<value>}} | db.col.find({"duration":{$lte:50}}).pretty() | where likes <= 50 |
大於 | {<key>:{$gt:<value>}} | db.col.find({"duration":{$gt:50}}).pretty() | where likes > 50 |
大於或等於 | {<key>:{$gte:<value>}} | db.col.find({"duration":{$gte:50}}).pretty() | where likes >= 50 |
不等於 | {<key>:{$ne:<value>}} | db.col.find({"duration":{$ne:50}}).pretty() | where likes != 50 |
結尾
通過上面的簡單介紹,我們基本上對於 MongoDB 的命令列條件查詢就清楚了,特別是倒序查詢和條件查詢結合範例應該更容易理解。好了,今天的分享就這麼多,下期再見。
到此這篇關於MongoDB資料庫條件查詢技巧的文章就介紹到這了,更多相關MongoDB條件查詢內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45