我想基于expireAt
字段从集合中删除文档。有两种方法可以做到:
使用mongodb
自动删除功能的情况如下:
db.collection.createIndex( { "createdAt": 1 }, { expireAfterSeconds: 0 } )
这将在expireAfterSeconds
字段中间隔createdAt
之后删除文档。
第二种方法是让服务在我的nodejs
服务器上运行,该服务器每隔1 minute
运行一次,并检查所有过期的文档并删除它们。这种方法对我来说似乎更好,因为我也可以使用socket
向我的前端发出更改,因此前端也可以反映这些更改。在第一种方法中,只有用户刷新页面,删除的文档才会出现。
但是我不确定第二种方法在我的服务器上是否会出现一些性能问题。就性能而言,以上哪一项更为有效