使Mongoose / MongoDB查询帮助程序插件返回零结果

时间:2018-01-29 16:42:19

标签: node.js mongodb mongoose mongodb-query mongoose-schema

我正在开发一个提供可链接方法.search(query)的{​​{3}}插件。在某些情况下,无论查询构建器链中的其他方法如何运行,我都希望查询返回零结果。事实证明,这并不像我假设的那么容易。

基本上,我有以下代码:

schema.query.search = function search(query) {
    if ("query is invalid") {
        // return no results => no easy way to achieve that?
    }

    return this.find(query);
};

现在,我希望SomeModel.find({}).search(someQuery).exec()在查询无效的情况下不返回任何结果。我首先尝试return this.limit(0),但结果是0的限制相当于Mongoose Query Helper

作为临时解决方案,我做return this.find({ nonExistingField: 'something' })总是没有结果,但这看起来有点尴尬,在性能方面可能也不是那么理想,因为当不需要搜索时会触发搜索

提前感谢您的帮助!

0 个答案:

没有答案