【发布时间】:2015-06-13 18:12:52
【问题描述】:
我可以多次限制查找结果的数量吗?
原因是我现在向现有应用程序的结果添加了一个排序选项。我已经限制了分页的结果集,但如果我另外排序,首先必须对整个结果进行排序,然后跳过/限制结果。
我不关心 100% 准确的结果,但不想让数据库太忙。所以我正在尝试的是:
MyCollection.find(pattern).limit(somelargenumber).sort({score:desc}).skip(0).limit(10);
对于 mongoose 和本机 mongodb 驱动程序都是如此。
这可能吗?而且..有什么意义吗?
(我通常希望每个查询返回的文档数量
实际上,通过快速测试,我无法在 mongo 命令行中提出 javascript 查询 - 尽管我认为聚合框架应该是可能的..
db.books.find().limit(1).sort({weightedRating:-1}).limit(10);
返回(据我所见)太多书(超过 1 本书),而且这本书的 weightedRating 很高,就像任何随机书都不会有(这应该通过第一个限制 (1) 实现) .
【问题讨论】: