Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何为同一行生成多个where子句?_Javascript_Node.js_Sequelize.js - Fatal编程技术网

Javascript 如何为同一行生成多个where子句?

Javascript 如何为同一行生成多个where子句?,javascript,node.js,sequelize.js,Javascript,Node.js,Sequelize.js,我想为同一行创建多个Where/AND子句:这是我的请求主体 "sub_categories":[ { "category_id":2 }, { "category_id":1 } ] 这是我的javascript代码 var where = {} if (subcategories != undefined) { subcategories.forEach(asy

我想为同一行创建多个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
        })
    });
}

.category\u id
怎么能同时等于1和2?子类别id指的是机构,所以我可能想在2个子类别中找到一个合适的。这就是为什么我没有给出那部分背景。但假设我需要这个。我在这个问题上有语法错误吗?那么每一行都有子类别id列表吗?是的,正是这样,让我在有效值{'$subcategories.id$':1}中尝试一下,给我这个错误@AnatolyYeah,这不起作用。我无法删除[$and]“错误:无效值{'$subcategories.id$':1}@analotyi如果你想让我接受这个问题,请删除其中的where['$and'],因为这样它不起作用(只有当你删除它时)。如果你能在这方面帮我的话[