【发布时间】:2018-07-18 22:35:38
【问题描述】:
我有三个系列:
-
User有一些用户数据id: ObjectId -
Post这是User可以发布的帖子 - 它有一个对User.id的引用id: ObjectId author: {ref: 'User'} text: String datePosted: Date -
User.reports是User.id和Post.id之间的关联,此集合中的文档意味着User报告了Post。id: ObjectId user: {ref: 'User'} post: {ref: 'Post'} dateReported: Date
Posts 可能很大(数千个),所以当我检索它们时,我会进行无限滚动 - 获取最新的 10 个,然后获取接下来的 10 个,等等......
这是我的查询:
let posts = await Post.find()
.skip(start) //0 initial
.limit(step) //step is 10
.populate('author')
.sort('-datePosted')
.exec();
return res.json(posts);
我的问题是:如何跳过User 报告的Posts - 它们在User.reports 集合中,并且始终返回正确数量的Posts(在本例中为10)?
【问题讨论】:
-
看到你的帖子和用户模式会有很大帮助
-
我已经更新了架构
标签: node.js mongodb mongoose mongoose-schema mongoose-populate