我正试图根据正则表达式从猫鼬中找到状态。但是在应用新的RegExp时,它会返回{}空json。
请求如下以找到两个状态
{
"state": ["Albama","abc"];
}
let stateRegex = new RegExp(req.body.state, 'i');
console.log(stateRegex)
query['subCategoriesAttributes.attributes.state.value'] = {$in: [new RegExp(req.body.state, 'i')]};
andOperator.push(query);
下面是在控制台中记录的结果
console.log(JSON.stringify(andOperator))
console.log(JSON.stringify(query))
结果是:
/Albama,abc/i
[{"subCategoriesAttributes.attributes.state.value":{"$in":[{}]}}]
{"$and":[{"subCategoriesAttributes.attributes.state.value":{"$in":[{}]}}]}
我通过以下方式手动尝试过:
let stateRegex = [ /Albama/i, /abc/i ]
console.log(stateRegex)
query['subCategoriesAttributes.attributes.state.value'] = {$in: stateRegex};
andOperator.push(query);
结果是
[ /Albama/i, /abc/i ]
[{"subCategoriesAttributes.attributes.state.value":{"$in":[{},{}]}}]
{"$and":[{"subCategoriesAttributes.attributes.state.value":{"$in":[{},{}]}}]}
如上$ in运算符之后的响应所示,它返回空json。我在做错什么吗,或者可能是语法问题