javascript - 如何为同一行创建多个where子句?

标签 javascript node.js sequelize.js

我想为同一行创建多个Where/AND 子句:这是我的请求正文

"sub_categories":[
        {
            "category_id":2
        },
        {
            "category_id":1
        }

    ]

这是我的 JavaScript 代码

var where = {}
if (subcategories != undefined) {
    subcategories.forEach(async (item) => {
        where['$subcategories.id$'] = item.category_id
    });
}

预期产生的查询:

SELECT * FROM TABLE where sub_categories .category_id = 1 AND sub_categories .category_id = 2

给我的问题:

SELECT * FROM TABLE where sub_categories .category_id = 2 (Last one) 

我需要在代码中添加一些内容才能执行此操作吗?

最佳答案

尝试

var where = {}
if (subcategories != undefined && subcategories.length) {
   where['$and'] = []
    subcategories.forEach((item) => {
        where['$and'].push({
           '$subcategories.id$': item.category_id
        })
    });
}

关于javascript - 如何为同一行创建多个where子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61308665/

相关文章:

javascript - 显示/隐藏和鼠标悬停 Javascript

javascript - 在另一个对象中声明对象数组

node.js - 我可以直接从 node.js 运行 .coffee 文件吗?

javascript - 从 nodejs 到 mongodb 或 mongoose 的动态数据库连接

node.js - Sequelize.js - Model.update() 不更新关联

node.js - 关联搜索 Sequelize

javascript - findOrCreate 包含 - sequelize.js

javascript - 有没有办法动态编辑WebView中显示的内容?

javascript - Font Awesome 5中属性data-auto-a11y的效果

node.js - Gulp vinyl ftp - 如何使用清洁功能?