繁体   English   中英

mongodb TTL在集合属性上不起作用-mongojs

[英]mongodb TTL doesn't work on collection property - mongojs

我正在使用mongojs与我的应用程序中的mongodb进行交互。

我需要为集合添加TTL支持,以使文档每小时删除一次。 这是我在应用启动时创建索引的方式:

db.collection.ensureIndex({'createdAt': 1, expireAfterSeconds: 3600})

createdAt场inited为new Date()保存文档时。

文档在数据库中的结构如下:

{
"_id" : ObjectId("5425759f73070ab82f6097ca"),
"user" : "bde8349VIO2RpmhE9Rkn3qvQJDYkr589MeWdsopEteQ3OfxQVPxUhLWH0AMiwnypKhquNEG4eA==",
"tags" : [],
"createdAt" : ISODate("2014-09-26T14:18:07.041Z")
}

我检查了数据库内部的索引,它们看起来不错:

> db.collection.getIndexes()
[
{
    "v" : 1,
    "key" : {
        "_id" : 1
    },
    "name" : "_id_",
    "ns" : "dbname.collection"
},
{
    "v" : 1,
    "key" : {
        "createdAt" : 1,
        "expireAfterSeconds" : 3600
    },
    "name" : "createdAt_1_expireAfterSeconds_3600",
    "ns" : "dbname.collection"
}
]

但是所有文档都保留在db中,并且不会被删除。

谢谢!

应该是db.collection.ensureIndex({'createdAt': 1}, {expireAfterSeconds: 3600})但不能是db.collection.ensureIndex({'createdAt': 1, expireAfterSeconds: 3600})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM