我確定這是在這里的某個地方,但我似乎找不到它。我正在嘗試從僅與欄位中的確切術語匹配的大檔案中提取檔案,而不是其中包含這些字母的任何內容。
更準確地說,我正在嘗試使用 .find({"name":"Eli"}) 提取具有該名稱的檔案,但我的搜索是提取具有這些字母的每個名稱(例如 elizabeth 或 ophelia)
uj5u.com熱心網友回復:
您可以使用正則運算式匹配來確保不回傳具有相同字符結構的名稱。
像這樣的東西:
const name = "Eli"
const query = new RegExp(`^${name}$`)
const user = await Collection.find({ name: { $regex: query } })
我在這里使用來自 RegEx 的 2 個關鍵運算子:^和$
放在^正則運算式前面將匹配所有以給定模式開頭的字串。
放在$正則運算式的末尾將匹配所有以給定模式結尾的字串。
因此,本質上您是在要求 mongoose 查找以 .name開頭和結尾的記錄Eli。這將阻止 Elizabeth 出現在您的結果中,但不會過濾掉其他 Eli 的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/487243.html
標籤:mongodb
上一篇:mongo-在過濾時訪問鍵值欄位
