MongoDB子字段account_admin查询及分页实现方案
MongoDB 查询匹配子文档并实现分页的方法
需求说明
从给定的集合中筛选出account_admin字段值为61b9bac72258040012e218d5的子文档,同时实现分页功能,最终返回仅包含account_admin字段的文档列表。
实现方案(使用聚合管道)
通过MongoDB聚合框架可以完成该需求,核心步骤包括数组展开、匹配筛选、字段投影和分页控制:
db.collection.aggregate([ // 展开subscription数组,将每个子文档转为独立文档 { $unwind: "$subscription" }, // 筛选出account_admin匹配目标值的文档 { $match: { "subscription.account_admin": "61b9bac72258040012e218d5" } }, // 只保留account_admin字段,转为顶层字段 { $project: { _id: 0, account_admin: "$subscription.account_admin" } }, // 分页:跳过指定数量的文档(示例为跳过0条,对应第一页) { $skip: 0 }, // 分页:限制返回的文档数量(示例为返回2条) { $limit: 2 } ])
分页参数调整说明
$skip:取值为(当前页码 - 1) * 每页条数,用于跳过前面页码的文档$limit:取值为每页需要返回的文档数量,可根据实际需求调整
执行结果
上述命令执行后,将返回符合要求的结果:
[ { "account_admin": "61b9bac72258040012e218d5" }, { "account_admin": "61b9bac72258040012e218d5" } ]
内容的提问来源于stack exchange,提问作者IrisVMO
相关产品推荐
相关产品推荐

