我正在尝试在包含带有 DateTimeOffset 的文档的集合上创建 MongoDB TTL 索引。但是日期作为刻度和偏移量的数组持久化,例如[刻度,偏移量]。例如 :
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?或者我在这里错过了什么?
我想这会在未来帮助某人。我的团队实际上与 MognoDb 工程师取得了联系,他们通知我们该日期必须是用于 TTL 索引的 ISO 日期。显然 [tick, offset] 的格式不正确。再次感谢亚当哈里森早些时候指出这一点。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句