很抱歉,这个问题听起来很傻,但我是mongoDB的新手,找不到解决方案。
我想从一个集合中得到一个确定数量(n)的"溢价"对象和另一个确定量(m)的非"溢价"元素。这两种元素都存储在同一个集合中,它们有一个称为"溢价"的布尔字段。它们也是地理定位的(2d索引数组),我想让它们按距离排序,然后按溢价/非溢价排序(按重要性的顺序)。
不知道我是不是错过了什么,很抱歉打扰了。
提前谢谢。
您不能在一个查询中进行两个查询。您必须运行两个查询,并对每个查询使用限制,然后在应用程序中组合它们。
或者,您可以运行一个没有"高级"answers"非高级"谓词的查询,并在应用程序中进行拆分。不过,你可能不得不高估项目的数量,以便在结果中有足够的保费和非保费文档。
由于您是按距离排序的,我会发现,除非您必须使用完全相同位置的文档,否则无论如何都不太可能有两个距离相同的文档,因此不太可能需要对"高级"进行二次排序。