—引子
這次窩瓜爲大家帶來的是關於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中關於數據更新的知識,謝謝大家~