如何在MongoDB中使用SQL LIKE語句


MongoDB是一個功能強大的Nosql數據庫服務器。MongoDB使用類似JSON的文檔與可選的模式來存儲數據。
它總是一個關鍵的任務,一個開發組織數據。因為它在應用程序的性能中起着最重要的作用。在Mongodb中,你可以使用類似SQL LIKE語句的查詢來獲取數據。
在本教程的例子中,我們使用了如下的一些虛擬數據。你也可以創建一個數據庫,然后執行下面的命令來插入虛擬數據。
db.colors.insert({ "id": 100, "color": "Pink"})
db.colors.insert({ "id": 101, "color": "Purple"})
db.colors.insert({ "id": 102, "color": "Black"})
db.colors.insert({ "id": 103, "color": "Blue"})
一、使用.find()
Mongodb find()命令用於從一個集合中搜索文檔。這個函數提供了靈活的搜索文檔的選項,默認的find()函數可以檢索一個集合中的所有文檔。
默認的find()函數可以檢索一個集合中的所有文檔,也可以通過傳遞一些簡單的參數來查詢一個文檔集合,並返回一個游標。它還允許你通過傳遞一些簡單的參數來查詢一個文檔集合,並返回一個游標。
一個簡單的.find()方法的例子如下。
> db.color.find()

{ "_id" : ObjectId("5f697e4ccc528930cde49f53"), "id" : 100, "color" : "Pink" }
{ "_id" : ObjectId("5f697e4fcc528930cde49f54"), "id" : 101, "color" : "Purple" }
{ "_id" : ObjectId("5f697e52cc528930cde49f55"), "id" : 102, "color" : "Black" }
{ "_id" : ObjectId("5f697e55cc528930cde49f56"), "id" : 103, "color" : "Blue" }
上面會返回一個集合中的所有文檔。但這在生產需求上是很不常見的。你總是需要從數據庫中獲取一些過濾的結果。
例如,獲取所有包含 "color: Pink "的文檔。執行如下查詢。
> db.cols.find({color: "Pink"})

二、將.find()作為SQL LIKE語句使用
你可以在monogdb中使用正則表達式來搜索文檔。這將類似於SQL查詢中的LIKE語句。
1、搜索字符串中任何地方有 "Pink "的顏色的所有文檔。第二條語句搜索所有顏色名稱中含有 "Bl "的文檔。
### SQL Statement
select * from colors where color LIKE "%Pink%"

### Mongodb Statement
db.colors.find(color: "/Pink/")

2、搜索字符串開頭 - 這將匹配所有以P字符開頭的字符串。“^”符號用於表示“開始”。
### SQL Statement
select * from colors where color LIKE "P%"

### Mongodb Statement
db.colors.find(color: "/^P/")

3、搜索字符串結尾 - 美元"$"符號用於匹配帶有特定字符的字符串結尾。下面的例子可以匹配所有以 "k "結尾的字符串。
### SQL Statement
select * from colors where color LIKE "%k"

### Mongodb Statement
db.colors.find(color: "/k$/")


4、在任何情況下搜索字符串 - 默認的查找方法是區分大小寫的。您可以使用 "i "選項指示find命令在任何情況下匹配字符,如下例所示。
### SQL Statement
select * from colors where color LIKE BINARY "pink"

### Mongodb Statement
db.colors.find(color: "/pink/i")

在本教程中,你已經學會了在Mongodb中搜索類似SQL LIKE語句的數據庫。A5互聯https://www.a5idc.net/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM