使用Mongodb自动删除与基于间隔的手动删除

时间:2018-11-24 07:19:28

标签: node.js mongodb

我想基于expireAt字段从集合中删除文档。有两种方法可以做到:

使用mongodb自动删除功能的情况如下:

db.collection.createIndex( { "createdAt": 1 }, { expireAfterSeconds: 0 } )

这将在expireAfterSeconds字段中间隔createdAt之后删除文档。

第二种方法是让服务在我的nodejs服务器上运行,该服务器每隔1 minute运行一次,并检查所有过期的文档并删除它们。这种方法对我来说似乎更好,因为我也可以使用socket向我的前端发出更改,因此前端也可以反映这些更改。在第一种方法中,只有用户刷新页面,删除的文档才会出现。

但是我不确定第二种方法在我的服务器上是否会出现一些性能问题。就性能而言,以上哪一项更为有效

0 个答案:

没有答案