如何在mongodb中获得一个条件下的N个结果和另一个条件的M个结果


How can I get N results with a condition and M results with another condition in mongodb

很抱歉,这个问题听起来很傻,但我是mongoDB的新手,找不到解决方案。

我想从一个集合中得到一个确定数量(n)的"溢价"对象和另一个确定量(m)的非"溢价"元素。这两种元素都存储在同一个集合中,它们有一个称为"溢价"的布尔字段。它们也是地理定位的(2d索引数组),我想让它们按距离排序,然后按溢价/非溢价排序(按重要性的顺序)。

不知道我是不是错过了什么,很抱歉打扰了。

提前谢谢。

您不能在一个查询中进行两个查询。您必须运行两个查询,并对每个查询使用限制,然后在应用程序中组合它们。

或者,您可以运行一个没有"高级"answers"非高级"谓词的查询,并在应用程序中进行拆分。不过,你可能不得不高估项目的数量,以便在结果中有足够的保费和非保费文档。

由于您是按距离排序的,我会发现,除非您必须使用完全相同位置的文档,否则无论如何都不太可能有两个距离相同的文档,因此不太可能需要对"高级"进行二次排序。