例如我的資料包括:
[
{username: "velikiye.lucky 09", region: "Hamburg"},
{username: "Roger. blue", region: "Hamburg"},
]
如果我輸入查詢來搜索“ roger blue ”(請注意,我在查詢中不使用點字符)
如何進入{username: "roger. blue", region: "Hamburg"}
mongoDB ?目前我必須從資料庫中加載所有資料,洗掉其中的所有非字母數字字符,將其小寫,然后搜索請求的用戶名。
uj5u.com熱心網友回復:
您應該像這樣使用正則運算式匹配:
db.collection.find({
username: {
$regex: "(.*)roger(.*)blue(.*)",
$options: "i"
}
})
游樂場鏈接。
這里,(.*) 將忽略任何字符。如果您只想忽略非字母數字字符,那么正如您在評論中提到的那樣,試試這個:
db.collection.find({
username: {
$regex: "[^a-zA-Z0-9]*roger[^a-zA-Z0-9]*blue[^a-zA-Z0-9]*",
$options: "i"
}
})
游樂場鏈接。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/535910.html
標籤:数据库