如何创建存储为数组[ticks,offset]的DatetimeOffset的MongoDB TTL索引?

问题描述 投票:3回答:1

我试图在包含DateTimeOffset的文档的集合上创建MongoDB TTL索引。但是日期是作为一个滴答和偏移的数组持续存在[ticks,offset]。例如 :

TimeStamp:Array [
    0:636803424000000000, 
    1:-360]

我的模型如下所示:

public class Log
{
    ....
    DateTimeOffset? TimeStamp{get; set;}
}

我正在使用MongoDb.Driver v2.7.2,我一直试图以这种方式创建索引

....
var indexKeysDefinition = Builders<Log>.IndexKeys.Descending(l => l.TimeStamp);
var indexOptions = new CreateIndexOptions 
{ 
    ExpireAfter = TimeSpan..FromTicks(TimeSpan.TicksPerMinute), 
    Name = "LogsTimeStamPIndex", 
    Background = true 
};
var model = new CreateIndexModel<Log>(indexKeysDefinition, indexOptions);
await _database.GetCollection<Log>("Log").Indexes.CreateOneAsync(model);
....

这是创建索引但文档在1分钟后没有到期。如何为以这种方式存储的DateTimeOffset创建TTL?或者我在这里失踪了什么?

c# mongodb mongodb-.net-driver
1个回答
1
投票

我想这将有助于将来的某些人。我的团队实际上与MognoDb工程师联系,他们已通知我们日期必须是用于TTL索引的ISO日期。显然[tick,offset]的格式不正确。再次感谢Adam Harrison早些时候指出这一点。

© www.soinside.com 2019 - 2024. All rights reserved.