mongondb可以动态条件查询吗?
发布于 7 年前 作者 lovegnep 2927 次浏览 来自 问答

需求:

通过条件A进行查询,

  1. 如果查询结果数量小于10条则再进行条件B查询,最后将两个条件的查询结果合并输出。
  2. 如果查询结果数量大于等于10条则直接输出查询结果。

相通过一条语句实现 ,怎么做呢

5 回复

希望懂的解答下,谢谢。

管道查询

来自酷炫的 CNodeMD

@zswnew 我看了下文档,没有找到相关的逻辑判断管道操作呀,能不能详细点呢。谢谢

mongodb 是可以动态设置查询条件的,想这样:

        let condition = {};
		// aa === '' 成立,查询条件里有 aa
        if (aa === '') {
            condition = { aa: aa };
        }
		// bb === 0 成立,查询条件里有 bb
        if (bb === 0) {
            condition.bb = bb;
        }

        // 过滤数据库数据
        ChapterModel.find(condition, callback)

不过像你说的根据查询结果再动态查询貌似不支持,其它数据库应该也没这种玩法吧??

@dkvirus 嗯,我感觉也是,那我只能分两步做了。

回到顶部