我想清理我的MongoDB,我想到adding a TTL index to expire documents。但基於第二個屬性,我需要爲我的文檔使用不同的TTL。是否有可能根據多個屬性在MongoDB中過期數據?
下面是一個例子:
{
"_id" : ObjectId("525bd2aee4b05e96f1ec7362"),
"payload" : "525bd2aee4b05e96f1ec7361",
"serviceId" : "525bd2ade4b05e96f1ec735f",
"status" : "STARTED",
"timestamp" : ISODate("2013-10-14T11:17:01.651Z"),
"transaction " : "525bd2aee4b05e96f1ec7360"
}
我可以設置屬性timestamp
一個TTL,但我需要根據serviceId
不同的TTL。這可能在MongoDB 2.2.x?
我刪除了你的第二個問題,因爲它是1.一個不同的問題和2.一個是關於管理,因此將更好地放在https://dba.stackexchange.com – Philipp 2014-10-10 11:55:08
嗯,這裏又是評論:當我過期文檔並運行compact或repairDatabase命令時,MongoDB是否會在硬盤上釋放空間? – cringe 2014-10-10 11:56:24