如果这是一个重复的问题,我事先道歉,但我找不到任何,我是初学者。
我正在为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将导致没有文档。
答案 0 :(得分:0)
您希望在查询对象为空时从其中删除key5
字段。
if (!filter.key5.length) {
delete filter.key5;
}