Sequelize之指定'where'查询结果与预期不一致(已解决但原因待究)

栏目: 数据库 · 发布时间: 7年前

内容简介:最近在敲Sequelize的时候遇到一个奇怪的问题。我的代码类似酱紫:此时我的

最近在敲Sequelize的时候遇到一个奇怪的问题。

我的代码类似酱紫:

const tagFilter = tag ? { name: tag } : {}
const categoryFilter = category ? { name: category } : {}
await Article.findAndCountAll({
    include: [
        { model: Tag, attributes: ['name'], where: tagFilter },
        { model: Category, attributes: ['name'], where: categoryFilter }
    ],
    offset: 0,
    limit: 10,
    order: [['createdAt', 'DESC']],
    row: true,
    distinct: true
});

此时我的 Article 模型对应的数据库 Article 表有 12 条数据:

Sequelize之指定'where'查询结果与预期不一致(已解决但原因待究)

Tag 模型和 Category 模型没有查询条件的时候:

const tagFilter = {}
const categoryFilter = {}

预期结果应该是能得到 12 条数据,然而我得到的却是:

Sequelize之指定'where'查询结果与预期不一致(已解决但原因待究)

纳尼?怎么只有 10 条数据???我的 柠檬7柠檬8 呢!!!

后来发现,愚蠢如我忘记在数据库的 Tag 表和 Category 表加上 柠檬7柠檬8 的数据了。待我为这两篇文章都指定好tag和category之后,查出来的结果终于正确了。

然而,为什么?

先mark下来,以后搞懂了再回来填坑。欢迎路过的大侠指点一二~


以上所述就是小编给大家介绍的《Sequelize之指定'where'查询结果与预期不一致(已解决但原因待究)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Code Reading

Code Reading

Diomidis Spinellis / Addison-Wesley Professional / 2003-06-06 / USD 64.99

This book is a unique and essential reference that focuses upon the reading and comprehension of existing software code. While code reading is an important task faced by the vast majority of students,......一起来看看 《Code Reading》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码