C# 如何让mongo TTL在c中过期#

C# 如何让mongo TTL在c中过期#,c#,mongodb,C#,Mongodb,Mongo不会让旧的收藏过期。我检查以确保我的索引类型是date var keys = IndexKeys.Ascending("expiry"); var options = IndexOptions.SetTimeToLive(TimeSpan.FromMinutes(1)); collection.EnsureIndex(keys, options); this.ExpireDate = new BsonDateTime(DateTime.UtcNow.AddMinutes(5)); v

Mongo不会让旧的收藏过期。我检查以确保我的索引类型是date

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
    }
]


该代码在ExpireTime属性顶部缺少[BSOneElement(“Expirement”)]。
谢谢@wiredparie的提示

您是否已检查是否无意中被某个约束绊倒()。只要
“expire”
是一个日期-时间字段,并且该字段上没有其他索引,就可以使用。expire
ExpireDate
expire
旁边没有任何索引字段?如果我理解了你的代码片段,它们需要匹配。确实如此,我正在用c#映射名称。嗯。使用
[bsonement(“到期”)]
?那么还有别的事吗?考虑到你发布的内容,这似乎是正确的。
"expiry" : ISODate("2013-02-15T02:40:45.876Z")