当使用带有Aggregate的MongoDB' $ in子句时,参数数量是否有任何最大限制?
例如
Model.aggregate(
[
{ $match :
{ '_Id' :
{
$in : ids
}
}
} ,
{ $group :
{ _id : '$roomId' ,
maxdate: { $max: "$date"},
}
},
{$sort: { maxdate: -1} },
{$skip: skip},
{$limit: limitNum }
]
在ids数组中,我可以传递多少个ID?
目前我没有遇到 ids 长度直到 50,000 的任何问题...但是为了安全方面想知道最大限制。
我曾尝试搜索Mongo文档,但没有找到任何内容。
提前致谢。
答案 0 :(得分:2)
$in
子句本身的参数数量没有限制,但是,总查询大小限制为16MB,因为查询只是一个BSON文档。根据{{1}}使用的类型(参见BSON specification),当您的ID长度达到几百万时,您可能会遇到问题。