Sails js findOne()返回结果,尽管不满足所有条件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sails js findOne()返回结果,尽管不满足所有条件相关的知识,希望对你有一定的参考价值。

我在这里面临挑战。 Sails Model.findOne()用于根据设置的条件搜索数据库。但是,我无法解释我得到的结果。我设置了两个条件,adminId和authToken。两者都是通过http请求接收的。设置了我的adminId,但未定义authToken。但是,我返回的结果是设置了authToken的结果。我期望错误不是有效的响应。为什么请?

请参见下面的代码:

    ...
    const authToken = req.headers['auth-key'];
    const adminId = req.param('adminId');
    console.log("IDs", authToken);
    const sessionExist = await Session.findOne(adminId, authToken)
    console.log("session", sessionExist);
    ...

同时我的控制台读取以下内容

IDs undefined
session 
  createdAt: 1582374230905,
  updatedAt: 1582374230906,
  id: 1,
  adminId: 3,
  authToken: 'fLREaL2BS0QSQHveUo3ZECfVxFJGk7MKxVBoON94Afoj2+tYS5tow5t14/JdcMCy9x+7P6evkLsCCNw4RjPBhHR/Q0UM5hjJPA=='
答案
考虑将未定义的类型强制转换为未定义的类型:

const authToken = req.headers['auth-key'] || null;

为了避免查询未定义的值。

以上是关于Sails js findOne()返回结果,尽管不满足所有条件的主要内容,如果未能解决你的问题,请参考以下文章

Sails.js 政策不适用于单个控制器

Mongoose.js findOne 返回查询元数据

Sails.js:用户注册后如何使用sails-generate-auth返回访问令牌?

猫鼬 findOne 方法返回 null

异步 Node.js 循环中的变量范围

MongoJS 节点 findOne 错误地返回无结果