如果这是一个重复的问题,我事先表示歉意,但是我找不到任何内容,我是一个初学者。
我正在为db文档做过滤器。
可以说我要查询对象中写入的文档的8个字段
filter={key1:{lowerlimit: 'value', upperlimit:'value'},
key2:{lowerlimit: 'value', upperlimit:'value'},
key3:{lowerlimit: '', upperlimit:'value'},
key4:{lowerlimit: 'value', upperlimit:''},
key5:[],
key6:['value','value'],
key7:['value','value','value'],
key8:['value']}
现在,我该如何编写查询逻辑,以便未指定其值的字段不会得到查询。如果我按原样查询所有参数。因为'key5'是空数组,所以不会显示任何文档,并且在其上使用$ in将导致没有文档。
您希望key5
在查询对象为空时将其从查询对象中删除。
if (!filter.key5.length) {
delete filter.key5;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句