0

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

我想从集合中获取确定数量(n)的“高级”对象和另一个确定数量(m)的非“高级”元素。这两种元素都存储在同一个集合中,并且它们有一个名为“premium”的布尔字段。它们也是地理定位的(二维索引数组),我想让它们按距离排序,然后按溢价/非溢价(按重要性顺序)。

不知道我是否遗漏了什么,很抱歉打扰。

提前致谢。

4

1 回答 1

0

您不能同时进行两个查询。您必须运行两个查询并为每个查询使用限制,然后将它们组合到您的应用程序中。

或者,您运行一个没有“premium”和“non-premium”谓词的查询,并在您的应用程序中拆分。您可能不得不高估项目的数量,以便您的结果中有足够的高级和非高级文档。

当您按距离排序时,我发现除非您必须使用完全相同位置的文档,否则您将拥有两个具有相同距离的文档,因此不太可能对“高级”进行二次排序是必要的。

于 2013-02-05T13:24:18.400 回答