mongodb 库数量限制_使用限制时,使用MongoDB获取文档总数

时代变了,我相信你能达到什么OP是通过聚合与要求$sort,$group和$project。对于我的系统,我还需要从users集合中获取一些用户信息。希望这也可以回答有关此问题。下面是一个聚合管道。最后三个对象(排序,组和项目)是处理总计数,然后提供分页功能的对象。

db.posts.aggregate([

{ $match: { public: true },

{ $lookup: {

from: 'users',

localField: 'userId',

foreignField: 'userId',

as: 'userInfo'

} },

{ $project: {

postId: 1,

title: 1,

description: 1

updated: 1,

userInfo: {

$let: {

vars: {

firstUser: {

$arrayElemAt: ['$userInfo', 0]

}

},

in: {

username: '$$firstUser.username'

}

}

}

} },

{ $sort: { updated: -1 } },

{ $group: {

_id: null,

postCount: { $sum: 1 },

posts: {

$push: '$$ROOT'

}

} },

{ $project: {

_id: 0,

postCount: 1,

posts: {

$slice: [

'$posts',

currentPage ? (currentPage - 1) * RESULTS_PER_PAGE : 0,

RESULTS_PER_PAGE

]

}

} }

])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值