mongodb查询逻辑mongoose和nodejs

时间:2015-01-01 15:31:40

标签: node.js mongodb mongoose

如果这是一个重复的问题,我事先道歉,但我找不到任何,我是初学者。

我正在为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将导致没有文档。

1 个答案:

答案 0 :(得分:0)

您希望在查询对象为空时从其中删除key5字段。

if (!filter.key5.length) {
    delete filter.key5;
}