使用 postgres 和 javascript 搜索多个单词

亚哈托

我想使用下面的这个查询来搜索多个词。当我搜索“文档角色”时,我应该使用 sequelize 获取包含所有文档的所有文档以及在其中具有角色的所有文档

function searchDocuments(req, res) {
  const limit = req.query.limit || 6,
    offset = req.query.offset || 0,
    queryString = req.query.q,
    splitString = queryString.split(' ');
  let querySearch = '';

  splitString.forEach((query, index, initial) => {
    console.log(initial[index]);
  });


  if (!queryString) {
    return res.status(400).json({
      message: 'Invalid search input'
    });
  }
  if (req.decoded.roleId === 1) {
    return Document.findAndCountAll({
     limit,
      offset,
      where: {
        title: {
          $iLike: `%${querySearch}%`
        }
      },
      include: [
        {
          model: User,
          attributes: ['userName', 'roleId']
        }
      ]
    })
    .then(({ rows: document, count }) => {
      if (count === 0) {
        return res.status(404).json({
          message: 'Search term does not match any document.'
        });
      }
      res.status(200).send({
        document,
        pagination: pagination(count, limit, offset),
      });
    })
    .catch(error => res.status(400).send(error));

我只想要一个 sequelize 查询,它执行一个带有标题关键字的 OR 任务

亚哈托

从顶部添加以下代码:

const limit = req.query.limit || 6,
    offset = req.query.offset || 0,
    queryString = req.query.q.replace(/ +(?= )/g, ''),
    searchQuery = [];

  if (!queryString) {
    return res.status(400).json({
      message: 'Invalid search input'
    });
  }

  if (req.decoded.roleId === 1) {
    const splitString = queryString.trim().split(' ');

    splitString.forEach((query) => {
      const output = { $iLike: `%${query}%` };
      searchQuery.push(output);
    });

然后在您查询的位置添加以下内容searchQuery

     where: {
        title: {
          $or: searchQuery
        }
      }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 .split 和 .includes 使用 Javascript 查找多个完整单词

postgres 使用 SIMILAR TO 表示多个单词

如何使用javascript搜索一个句子中的多个单词

使用postgres,nodejs和html动态搜索查询

Javascript搜索数组中的多个单词

javascript - 使用带有单词和结果的多个方程不断出错

使用JavaScript在搜索栏中的单词顺序

使用Grep搜索文件中的多个单词

使用ack搜索多个模式(单词)?

PostgreSQL使用Levenshtein模糊搜索多个单词

使用Javascript forEach和indexOf在JSON中搜索多个过滤器

按多个键和值搜索,Javascript

使用GREP选择多个单词和字符

使用javascript和axios搜索Twitter用户

如何使用javascript和ajax进行搜索

Postgres全文搜索:如何在多个字段中搜索多个单词?

使用postgres和jOOQ的全文本搜索和变量绑定不起作用

如何使用Sqlalchemy Postgres搜索列中的多个值

如何使用多个搜索和字典求和

在sqlite中搜索多个单词和智能排序

如何搜索和替换单词但使用 vi 进行确认

如何使用 JavaScript 返回多个搜索查询

在不使用Regex的情况下搜索和替换字符串,而是循环执行,如何一次替换多个单词?

javascript + postgres:时区和时间戳用法

R:如何使用RegEx使用分词来搜索多个单词

如何使用Node JS、Postgres和dust js在数据库中搜索数据

Postgres - 使用 3 + 列和 to_tsvector 创建全文搜索索引

如何使用javascript修剪单词之间和逗号后的空格

使用JavaScript,HTML和CSS突出显示单词