mongodb多次查询,不断添加条件,如何处理更好

发布于 2022-09-06 09:36:09 字数 213 浏览 9 评论 0

查询列表(20万数据),先通过条件一查询,如果查询出来的数据大于一,则添加条件二(查询条件为条件一加上条件二),如果结果大于一则继续添加条件,如果等于一则终止,如果结果为0则获取上一次查询的结果;以此类推,添加多个条件。这样的情况如何处理更好呢?
现在想到的思路就是保存每次查询到的结果,在结果上查询,但是如果结果很大的话,就无法实现。另外也想过使用聚合但是因为条件判断感觉无法处理。各位有什么好的方法吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

好久不见√ 2022-09-13 09:36:09

主要问题是,这个过程是怎么进行的?

场景一

如果条件一多于1条数据,是由用户选出第二个条件再查第二次,然后再查,如果再多于1,用户再选出第三个条件再查
如果是这种场景,我觉得这不是一个数据库需要解决的问题,而更应该是你如何引导用户操作的问题。简单的实现可以做到:

  • 由AJAX加载查询结果,如果后一次查询结果是0,则不要更新当前页面;反之更新页面中的结果。

不用考虑保留上一次的结果的问题,要保留的只是上一次的条件,保留结果无论对数据库效率还是对开发复杂度都没有好处。

场景二

如果是用户一次性给定了有顺序的n个条件,你需要查到多少个条件时记录只剩一条。
如果是这种场景,同样不用考虑保留中间结果的问题。可以考虑倒过来查,先使用最多条件,没有结果则减一个条件,一直查到有结果为止,那就是你要的结果。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文