簡體   English   中英

Sequelize:查找與查詢匹配的所有內容(不區分大小寫)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM