首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >value.map不是用或Param对findAll进行后缀的函数。

value.map不是用或Param对findAll进行后缀的函数。
EN

Stack Overflow用户
提问于 2018-01-30 16:28:57
回答 1查看 4.8K关注 0票数 0

有人能帮我解决这个错误吗,这是我的代码:

代码语言:javascript
复制
const { UserLogs } = require("../models");

let logscontroller = {};

logscontroller.getAll = (req, res) => {
  console.log(req.body);
  let search = req.body.search.value;
  console.log(search);
  if (search === "") {
    UserLogs.findAll({
      offset: req.body.start,
      limit: req.body.length,
      order: [["id", "ASC"]],
      raw: true
    })
      .then(result => {
        res.json({
          data: result
        });
      })
      .catch(err => {
        console.log(err);
      });
  } else {
    UserLogs.findAll({
      where: {
        email: {
          $or: search
        }
      },
      offset: req.body.start,
      limit: req.body.length,
      order: [["id", "ASC"]],
      raw: true
    })
      .then(result => {
        res.json({
          data: result
        });
      })
      .catch(err => {
        console.log(err);
      });
  }
  return;
};

logscontroller.index = (req, res) => {
  res.render("logs", {
    title: "Logs Users"
  });
};

module.exports = logscontroller;

这是我的错误,我不知道为什么..。

(D:\HASH\back-office-2\node_modules\sequelize\lib\dialects\abstract\query-generator.js:2180:21) at Object.whereItemQuery (D:\HASH\back-office-2\node_modules\sequelize\lib\dialects\abstract\query-generator.js:2070:19) at Utils.getComplexKeys.forEach.prop (D:\HASH\back 2\node_TypeError\sequelize)中的函数\lib\dialects\abstract\query-generator.js:1957:25) at Array.forEach () at Object.whereItemsQuery (D:\HASH\back-office-2\node_modules\sequelize\lib\dialects\abstract\query-generator.js:1955:35) at Object.getWhereConditions (D:\HASH\back-office-2\node_modules\sequelize\lib\dialects\abstract\query-generator.js:2423:19) at Object.selectQuery (D:\HASH )\back-office-2\node_modules\sequelize\lib\dialects\abstract\query-generator.js:1133:28) at QueryInterface.select (D:\HASH\back-office-2\node_modules\sequelize\lib\query-interface.js:1077:27) at Promise.try.then.then.then (D:\HASH\back-office-2\node_modules\sequelize\lib\model.js:1596:34) at tryCatcher (D:\HASH\back)office-2\node_modules\bluebird\js\release\util.js:16:23) at Promise._settlePromiseFromHandler (D:\HASH\back-office-2\node_modules\bluebird\js\release\promise.js:512:31) at Promise._settlePromise (D:\HASH\back-office-2\node_modules\bluebird\js\release\promise.js:569:18) at Promise._settlePromise0 (D:\HASH\back 2\node_modules\bluebird\js\release\promise.js:614:10) at Promise._settlePromises (D:\HASH\back-office-2\node_modules\bluebird\js\release\promise.js:693:18) at Async._drainQueue (D:\HASH\back-office-2\node_modules\bluebird\js\release\async.js:133:16) at Async._drainQueues (D:\HASH\back-office-2\node_modules\bluebird\js\( (D:\HASH\back-office-2\node_modules\bluebird\js\release\async.js:17:14) at runCallback (timers.js:789:20) at tryOnImmediate (timers.js:751:5) at processImmediate immediateCallback

EN

回答 1

Stack Overflow用户

发布于 2018-01-30 16:51:02

根据后遗症$or接受数组:

代码语言:javascript
复制
$or : [{authorId: 12}, {authorId: 13}]

这就是你用过的

代码语言:javascript
复制
email: {
    $or: search
}

我想你需要的是:

代码语言:javascript
复制
email : search // for exact match

or 

email : {
    $ilke : `%${search}%` // for partial match
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48526202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档