MongoDB之數據查詢

—引子

這次窩瓜爲大家帶來的是關於MongoDB之中,關於數據查詢的部分。

衆所周知,只要是數據庫,對於查詢這個功能,都是非常重要的,在這次給小夥伴們帶來的,還有着一些比較零碎的知識點,希望能給初學的小夥伴一點幫助!


關係運算符詳解:

運算符 含義
$gt 大於
$lt 小於
$gte 大於等於
$lte 小於等於
$ne 不等於
$in 在範圍中
$nin 不在範圍中
ktu:value 等於

邏輯運算符詳解:

運算符 含義
$and
$or
$not 、 $nor

數組運算符詳解:

運算符 含義
$all 所有數組
$size 數量的控制
$slice 允許返回數組元素的個數控制

正則標記

正則標記 含義
i 忽略字母大小寫
m 多行查找
x 空白字符除了被轉義的或在字符類中意外的完全被忽略
s 匹配所有的字符包括換行內容

注意:這裏給出使用正則標記的兩種語法:

基礎語法:

{key:正則標記}

完整語法:

{key:{"$regex" : 正則標記,"$options":}}

查詢的基本格式:

db.集合名.find();

這裏的“db”的具體含義,在上一次中已經給小夥伴們給出了,所以這次就不在過多的解釋了,如果有不知道的小夥伴,就去上一篇博客中,窩瓜已經給大家詳細的介紹了。


利用條件進行查詢:

在MongoDB中,窩瓜覺得其實在查詢這塊還是比較繁瑣的,相比較於我們最基礎的SQL語句來講,窩瓜覺得MongoDB中的語句,還是不太容易理解的,尤其是關於查詢和修改這塊,所以,窩瓜就利用一些例子來給大家簡單說明:

查詢年紀大於19歲的人:
db.集合.find({"age":{"$gt":19}}).pretty();

查詢年紀在19到20歲之間的人:
db.集合.find({"age":{"$gt":19,"$lte":20}}).pretty();

查詢姓名不是張三、李四、王五的人:
db.messages.find("name":{'$nin":[張三、李四、王五]}).sretty();

查詢所有上語文課和英語課的學生:
db.集合.find({"courses":{"$all":["語文","英語"]}}).pretty();

查詢數組第二個爲數學:
db.集合.find({"courses.1":"數學"}).pretty();

查詢只有兩門課程的人:
 db.集合.find({"courses":{"$size":2}}).pretty();

返回年齡爲19歲,且課程只顯示2門:
db.集合.find({"age":19},{"$slice":2}).pretty();

詢年齡大於19歲,父母工作是局長的:
db.集合.find({"$and":["age":{"$gte":19}},{"parents":{"$elemMat":{"job":"局長"}}]}).pretty();

注意:這裏的查詢元素之中,還嵌套着一個“parents”的元素,這個元素中有着屬性,叫做“job”!


到這裏,關於MongoDB中一些常用的查詢樣式,就都介紹給大家了,下次將給大家帶來關於MongoDB中關於數據更新的知識,謝謝大家~

發佈了11 篇原創文章 · 獲贊 0 · 訪問量 7056
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章