【发布时间】:2014-04-11 00:39:00
【问题描述】:
我举例说明:
我有一个包含 100 万个项目的集合,ID:123,每个项目的价值不同:“价值”
拥有 MONEY 的用户 x 可以“购买”这些物品。我基本上想知道用户可以以最优雅的方式购买多少物品。
所以我明白了。
db.items.find({Item_ID:123},{Item_Age:1,Item_worth:1}.sort({Item_age:1})
-> 给我所有 Item_ID:123 按年龄排序的项目。
我现在可以
- 遍历所有项目直到项目价值总和 == User_Money 但不知何故,我认为如果返回的列表匹配 100 万个项目并且用户可能只有足够的钱购买 1000 个,这不是很有效
或
- 循环查询 1000 次
或
- 将查询限制为 100 个项目。但这变化很大,仍然可能导致很多循环
那么有没有一种查询方法可以返回每个文档中所有值的总和? 或者任何其他有效的建议可能会有所帮助。
谢谢
【问题讨论】:
-
所以您想要前 X 个项目,按 Item_age 排序,其中 Item_worth 总和小于或等于 User_Money?
标签: mongodb