[英]Adding an archiving feature to my website
我正在尝试将帖子存档添加到我的网站,并让用户有机会存档他们需要的任何帖子。 我的网站是用 MERN 和 RESTful api 构建的。
{归档:{类型:Boolean,默认:假}}
用户 select 在前端“归档”,请求被发送到服务器,服务器将 model 实例/帖子切换到归档:true。 然后,所有帖子页面应该只显示未归档的帖子。 但是,我不知道它的效率如何,或者它是否是一个不错的选择。
在数据库中,这通常被称为“软删除”,许多系统都这样做——博客隐藏过时的文章,在线商店使用它来隐藏不再提供的产品,等等。 这是标准的行业惯例。
通常,您将在列出帖子时使用该字段过滤掉帖子。 此时,您必须做出重要决定:
_id
功能的引用,以便用户的浏览器书签继续工作?一旦你决定了,你就会知道要修改哪些查询以包含额外的条件。
在性能方面,假设您的站点只有少数帖子(例如,最多 1000 个),这根本不重要 - 瓶颈通常是排序,因此请确保您拥有所有正确的索引(例如,在日期字段 - 如果有疑问,请参阅有关索引的 Mongo 文档)。
如果您将拥有大量帖子(数百万),并且存档帖子占所有帖子的很大一部分(例如,50%),那么您可以使用部分索引来加速查询 - 索引可以容纳仅非归档帖子,将归档帖子从索引中抛出以节省索引大小(遍历时间 + RAM)。 不过,不要过早地担心这一点——在大多数网站上可能永远不需要这样的优化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.