如何定义快递路线,以便像producthunt一样在NodeJS中获取数据?
我有一个MERN堆栈应用。现在,我从数据库中获取所有帖子,并显示在React中。但是,我只想显示默认情况下在当前日期创建的帖子,然后如果用户向下滚动,则react将要求提供前一天的更多信息,依此类推。就像在producthunt中一样。
我有2个问题1)由于我不知道每天创建多少帖子,因此无法使用滚动的特定位置来定义应在下一点调用下一条路线以获取更多数据。我怎么知道什么时候要求更多数据?2)我不知道如何定义这些路线。我是否应该只有一条路线,并从数据库中请求越来越多的数据。还是每天有多条路线?这确实听起来像是很多路线。
获取所有帖子
router.get('/', async (req, res) => {
try {
const posts = await Post.find();
res.json(posts);
} catch (err) {
console.error(err.message);
res.send(500).send('Server Error');
}
});
回答如下:根据需要,流应该是这样的。
- [通过按post_time过滤Post来使用API路由获取当前日期的数据
- 显示所有这些数据。
- 当用户通过将正文中需要的日期发送到相同的API再次到达页面末尾请求时。
- 转到步骤2。
您真正应该如何处理?
我想说的是,当用户用尽所有这些帖子时,提取固定数量的帖子,例如30,然后提取30,依此类推。在前端,这被称为延迟加载,并被称为猫鼬。
Post.find().skip(30).limit(30);
如何定义快递路线,以便像producthunt一样在NodeJS中获取数据?
我有一个MERN堆栈应用。现在,我从数据库中获取所有帖子,并显示在React中。但是,我只想显示默认情况下在当前日期创建的帖子,然后如果用户向下滚动,则react将要求提供前一天的更多信息,依此类推。就像在producthunt中一样。
我有2个问题1)由于我不知道每天创建多少帖子,因此无法使用滚动的特定位置来定义应在下一点调用下一条路线以获取更多数据。我怎么知道什么时候要求更多数据?2)我不知道如何定义这些路线。我是否应该只有一条路线,并从数据库中请求越来越多的数据。还是每天有多条路线?这确实听起来像是很多路线。
获取所有帖子
router.get('/', async (req, res) => {
try {
const posts = await Post.find();
res.json(posts);
} catch (err) {
console.error(err.message);
res.send(500).send('Server Error');
}
});
回答如下:根据需要,流应该是这样的。
- [通过按post_time过滤Post来使用API路由获取当前日期的数据
- 显示所有这些数据。
- 当用户通过将正文中需要的日期发送到相同的API再次到达页面末尾请求时。
- 转到步骤2。
您真正应该如何处理?
我想说的是,当用户用尽所有这些帖子时,提取固定数量的帖子,例如30,然后提取30,依此类推。在前端,这被称为延迟加载,并被称为猫鼬。
Post.find().skip(30).limit(30);