[英]Sequelize: Find All That Match the query (Case Insensitive)
如果我有一個 context.data.filename ='DOC.doc' 並且數據庫記錄包含例如 DOC.doc 和 DOC-1.doc 的記錄,那么它應該返回帶有employeeId的兩個數據,但現在它只返回DOC。匹配錯誤的文檔,它也應該返回 DOC-1,因為它與模式匹配。
有什么想法嗎? 將不勝感激,謝謝。
#代碼
const file = await context.service.Model.findAll({
where: {
filename: {
[Op.like]: `%${context.data.filename}%`,
},
employeeId: record.id,
},
paranoid: false,
});
這不是續集的問題。 如果您正在搜索DOC.doc
並希望找到DOC-1.doc
,則需要將%
符號放在點之前。 %
表示“任意數量的任意字符”。 所以你的搜索查詢應該看起來像DOC%.doc
。
例如:
const filename = '%' + context.data.filename.replace('.', '%.') + '%';
const file = await context.service.Model.findAll({
where: {
filename: {
[Op.like]: filename,
},
employeeId: record.id,
},
paranoid: false,
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.