mongodb多次查询,不断添加条件,如何处理更好
查询列表(20万数据),先通过条件一查询,如果查询出来的数据大于一,则添加条件二(查询条件为条件一加上条件二),如果结果大于一则继续添加条件,如果等于一则终止,如果结果为0则获取上一次查询的结果;以此类推,添加多个条件。这样的情况如何处理更好呢?
现在想到的思路就是保存每次查询到的结果,在结果上查询,但是如果结果很大的话,就无法实现。另外也想过使用聚合但是因为条件判断感觉无法处理。各位有什么好的方法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
主要问题是,这个过程是怎么进行的?
场景一
如果条件一多于1条数据,是由用户选出第二个条件再查第二次,然后再查,如果再多于1,用户再选出第三个条件再查
如果是这种场景,我觉得这不是一个数据库需要解决的问题,而更应该是你如何引导用户操作的问题。简单的实现可以做到:
不用考虑保留上一次的结果的问题,要保留的只是上一次的条件,保留结果无论对数据库效率还是对开发复杂度都没有好处。
场景二
如果是用户一次性给定了有顺序的n个条件,你需要查到多少个条件时记录只剩一条。
如果是这种场景,同样不用考虑保留中间结果的问题。可以考虑倒过来查,先使用最多条件,没有结果则减一个条件,一直查到有结果为止,那就是你要的结果。