使用“每场比赛限制”创建“$ in”查询?

时间:2013-02-13 14:20:40

标签: mongodb pymongo

我有一组用户和一组图片。每个图像doc都存储其用户/创建者的GUID。给定一组4个用户(例如),我想构建一个查询来检索每个用户的5个最新图像。是否有“每个标准限制”操作符,所以我可以通过一个请求完成此操作?类似的东西:

db.images.find( 
  { 'creatorGUID' : { '$in' : arrayOfUserGUIDs , '$limitPerMatch' : 5 } } 
)

如果一个请求无法实现,那么这种查询的最有效方法是什么?

1 个答案:

答案 0 :(得分:3)

目前不可能,MongoDB只是“知道”然后返回,它不会设法查看范围查询的每个子句有多少匹配。

我目前唯一能想到的方法是使用creatorGUID分别查询每个limit(5)

可怕而且不好但这是我在这种情况下能想到的唯一方法。