Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
抱歉,这听起来像是一个愚蠢的问题,但我是 mongoDB 的新手,我找不到解决方案。
我想从集合中获取确定数量(n)的“高级”对象和另一个确定数量(m)的非“高级”元素。这两种元素都存储在同一个集合中,并且它们有一个名为“premium”的布尔字段。它们也是地理定位的(二维索引数组),我想让它们按距离排序,然后按溢价/非溢价(按重要性顺序)。
不知道我是否遗漏了什么,很抱歉打扰。
提前致谢。
您不能同时进行两个查询。您必须运行两个查询并为每个查询使用限制,然后将它们组合到您的应用程序中。
或者,您运行一个没有“premium”和“non-premium”谓词的查询,并在您的应用程序中拆分。您可能不得不高估项目的数量,以便您的结果中有足够的高级和非高级文档。
当您按距离排序时,我发现除非您必须使用完全相同位置的文档,否则您将拥有两个具有相同距离的文档,因此不太可能对“高级”进行二次排序是必要的。