Mongo expireAfterSeconds 时间设置
开始接触并要实现mongo的expireAfterSeconds功能;一直用的mongovue客户端界面简洁清晰都挺好,这次碰到了砍。expireAfterSeconds有两种实现方法,例如我们有叫test的collection,test里有expire字段。1. expireAfterSeconds值设置成0,expire设置未来时间值,例如当前时间+1day,等明天的这个时间就
开始接触并要实现mongo的expireAfterSeconds功能;一直用的mongovue客户端界面简洁清晰都挺好,这次碰到了砍。
expireAfterSeconds有两种实现方法,例如我们有叫test的collection,test里有expire字段,给该字段设置index,而索引的附加功能里有expireAfterSeconds选项。
1. expireAfterSeconds值设置成0,expire设置未来时间值,例如当前时间+1day,等明天的这个时间就自动删除。
2. expireAfterSeconds直接设置时间,秒为单位。
db.log_events.createIndex( { "createdAt": 1 }, { expireAfterSeconds: 3600 } )
不管在mongovue里怎么设置该功能就是失效!
后来发现是mongovue里设置index的时候,expireAfterSeconds功能是无效的,不是功能不好用,而是根本没有设置上!
正要准备直接连接到shell里设置的时候(因为本人操作mongo都是客户端,没有尝试过shell),发现了MongoChef,并且分分钟搞定。
虽然功能搞定了,可是一点成就感都没有, anyway~ mongovue果断抛弃。
PS: mongo是UTC时间,保存的时间和我们电脑的系统时间不一致, 我用的php做的服务器端开发,解决这个问题的方法是~ new MongoDate()
'expireAt' => new MongoDate(strtotime('+1 day'))
更多推荐
所有评论(0)