在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)庫/ MongoDB正則表達式
MongoDB教程
MongoDB覆蓋查詢
MongoDB數(shù)據(jù)建模
MongoDB聚合
MongoDB更改用戶密碼和自定義數(shù)據(jù)
MongoDB用戶
MongoDB分片
MongoDB創(chuàng)建集合
MongoDB文本搜索
MongoDB數(shù)據(jù)類型
MongoDB GridFS
MongoDB索引限制
MongoDB插入文檔
MongoDB刪除集合
MongoDB數(shù)據(jù)庫引用
MongoDB復(fù)制
MongoDB Map Reduce
Python連接MongoDB操作
MongoDB原子操作
MongoDB特點
MongoDB安全檢查表
MongoDB排序記錄
MongoDB自動遞增序列
MongoDB安裝配置(Windows)
MongoDB備份與恢復(fù)
MongoDB安裝配置(Ubuntu)
Ruby連接MongoDB操作
MongoDB部署
MongoDB索引
MongoDB分析查詢
MongoDB投影(選擇字段)
MongoDB刪除數(shù)據(jù)庫
MongoDB認證
MongoDB限制記錄數(shù)
MongoDB添加用戶
MongoDB固定循環(huán)集合
MongoDB高級索引
MongoDB數(shù)據(jù)庫的優(yōu)點
MongoDB快速入門
MongoDB創(chuàng)建數(shù)據(jù)庫
MongoDB啟用身份驗證
MongoDB歷史
MongoDB管理用戶和角色
MongoDB安裝配置(RedHat/CentOS)
MongoDB刪除文檔
Java連接MongoDB操作
MongoDB正則表達式
MongoDB查詢文檔
MongoDB關(guān)聯(lián)關(guān)系
PHP連接MongoDB操作
MongoDB更新文檔
MongoDB ObjectId

MongoDB正則表達式

正則表達式在所有的編程語言中經(jīng)常使用,用于以搜索任何字符串中的模式或單詞。 MongoDB還提供使用$regex運算符的字符串模式匹配的正則表達式的功能。 MongoDB使用PCRE(Perl兼容正則表達式)作為正則表達式語言。

與文本搜索不同,不需要使用任何配置或命令來使用正則表達式。

請考慮以下文檔結(jié)構(gòu),其中包含post文本及其標簽 -

{
   "post_text": "enjoy the mongodb articles on yiibai tutorials",
   "tags": [
      "mongodb",
      "yiibai"
   ]
}

使用正則表達式

以下regex查詢搜索包含”yiibai“字符串的所有帖子 -

>db.posts.find({post_text:{$regex:"yiibai"}})

上面的查詢也可以寫成 -

>db.posts.find({post_text:/yiibai/})

使用不區(qū)分大小寫的正則表達式

要使搜索不區(qū)分大小寫,可指定$options參數(shù)的值為$i。 以下命令將尋找具有單詞yiibai的字符串,不管其是小寫還是大寫字母 -

>db.posts.find({post_text:{$regex:"yiibai", $options:"$i"}})

此查詢返回的結(jié)果之一是以下文檔,其中包含大小寫字母的”yiibai“單詞 -

{
   "_id" : ObjectId("595b99e1f6a6243715b3c316"),
   "post_text" : "hey! this is my post on Yiibai Yiibai", 
   "tags" : [ "yiibai" ]
},
{
   "_id" : ObjectId("595b99e1f6a6243715b3c317"),
   "post_text" : "hey! this is my post on yiiBai Yiibai", 
   "tags" : [ "yiibai" ]
}

對數(shù)組元素使用正則表達式

我們也可以在數(shù)組字段上使用正則表達式。當實現(xiàn)標簽的功能時,這尤其重要。 所以,如果要從單詞:tutorial(tutorialtutorials , tutorialpointtutorialphptutorialpythontutorialphp)開始搜索所有具有標簽的帖子,可以使用以下代碼 -

> db.posts.find({tags:{$regex:"tutorial"}})

優(yōu)化正則表達式查詢

  • 如果文檔字段創(chuàng)建了索引,則查詢將使用索引值來匹配正則表達式。 與正常表達式掃描整個集合相比,使用索引值使得搜索非???。

  • 如果正則表達式是前綴表達式,則所有匹配都是以某個字符串字符開始。 例如,如果正則表達式是^tut,則查詢必須僅搜索以tut開頭的那些字符串。