Mongo 不会过期旧集合。我检查以确保我的索引是日期类型。

var keys = IndexKeys.Ascending("expiry");
var options = IndexOptions.SetTimeToLive(TimeSpan.FromMinutes(1));

collection.EnsureIndex(keys, options);
this.ExpireDate = new BsonDateTime(DateTime.UtcNow.AddMinutes(5));
var insertResult = collection.Insert(this);

任何提示将不胜感激。
[
    {
            "v" : 1,
            "key" : {
                    "_id" : 1
            },
            "ns" : "Showsv1.ShowInfo",
            "name" : "_id_"
    },
    {
            "v" : 1,
            "key" : {
                    "expiry" : 1
            },
            "ns" : "Showsv1.ShowInfo",
            "name" : "expiry_1",
            "expireAfterSeconds" : 60
    }

]
"expiry" : ISODate("2013-02-15T02:40:45.876Z")

最佳答案

代码在 ExpireTime 属性之上缺少 [BsonElement("expiry")]。
感谢@WiredPrairie 的提示。

关于c# - 如何让mongodb TTL在c#中过期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14887227/

10-09 21:47