Javascript 什么';添加从mongoDB删除记录的自动化流程的最佳方法是什么?
我目前有一个聊天机器人设置,可以将记录存储到MongoDB上。存储在Mongo中的对象看起来像Javascript 什么';添加从mongoDB删除记录的自动化流程的最佳方法是什么?,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我目前有一个聊天机器人设置,可以将记录存储到MongoDB上。存储在Mongo中的对象看起来像 { ..., expiration_time: 12451525, ... } 其中,expiration\u time是以分钟表示的数字 我最初的方法是在web应用程序上使用setInterval查询数据库,删除符合当前时间大于或等于过期时间条件的所有记录。但是,我觉得当已经有其他操作(如读写数据)时,web应用程序会对数据库进行大量额外的查询 我读过关于在Mongo上存储函数的内容,但我知道如何
{ ..., expiration_time: 12451525, ... }
其中,expiration\u time
是以分钟表示的数字
我最初的方法是在web应用程序上使用setInterval
查询数据库,删除符合当前时间大于或等于过期时间条件的所有记录。但是,我觉得当已经有其他操作(如读写数据)时,web应用程序会对数据库进行大量额外的查询
我读过关于在Mongo上存储函数的内容,但我知道如何自动调用函数以自删除记录
我肯定会喜欢任何反馈、方法或最佳实践指南
提前谢谢 IMHO有两种选择:
expiration\u time
必须是日期而不是整数
要在特定的时钟时间使文档过期,首先在保存BSON date类型值的字段上创建TTL索引
MongoDB中有一个用于此目的的内置机制,名为。它似乎不会自行过期。@user3593810您是否已将旧文档的
过期时间转换为最新日期?也来看看
db.messages.createIndex( { "expiration_time": 1 }, { expireAfterSeconds: 0 } )