我有一个MongoDB集合,它具有以下数据结构;
[
{
"_id": "1",
"name": "businessName1",
"reviews": [
{
"_id": "1",
"comment": "comment1",
},
{
"_id": "2",
"comment": "comment1",
},
...
]
}
]
正如您所看到的,每个企业的评论都是集合中的一个子文档,其中businessName 1总共有2条评论。在我的真实的MongoDB集合中,每个企业有100条评论。我只想在一个页面上使用分页查看10条评论。
我目前在Python中有一个find_one()函数,它可以检索这个单一的业务,但也可以检索它的所有评论。
businesses.find_one( \
{ "_id" : ObjectId(1) }, \
{ "reviews" : 1, "_id" : 0 } )
我知道Python中的**skip()和limit()**方法,可以限制检索结果的数量,但据我所知,只能在find()方法上执行这些方法,对吗?
1条答案
按热度按时间xfyts7mz1#
选项1:您可以使用$slice进行分页,如下所示:
Playground
选项2:或者通过聚合+总阵列大小可能更好:
Playground