gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 09:47:40 27 4
gpt4 key购买 nike

我正在尝试在包含具有 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?或者我在这里错过了什么?

最佳答案

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

关于c# - 如何为存储为数组 [ticks,offset] 的 DatetimeOffset 创建 MongoDB TTL 索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53855862/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com