根据我的经验,请尝试使用_ts field
. 我们可以从文档中获得更多信息。我做了一个在我这边创建 TTL 索引的演示,它工作正常。以下是详细步骤。
1.创建C#控制台工程并添加 MongoDB SDK
2.添加人物类
using MongoDB.Bson;
public class Person
{
public ObjectId Id { get; set; }
public string Name { get; set; }
}
3.创建MongodB客户端,我们可以从Azure门户获取代码。
4.添加文档到集合
var db = mongoClient.GetDatabase("dbname");
var collection = db.GetCollection<Person>("collectionname");
collection.InsertOne(new Person() {Name = "tom"});
5.从 Azure 门户检查
_ts
6.在字段上创建TTL索引
var indexs = collection.Indexes.CreateOneAsync(Builders<Person>.IndexKeys.Ascending("_ts"),
new CreateIndexOptions { ExpireAfter = new TimeSpan(0, 0, 10) }).Result;
Package.config 文件
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MongoDB.Bson" version="2.4.3" targetFramework="net451" />
<package id="MongoDB.Driver" version="2.4.3" targetFramework="net451" />
<package id="MongoDB.Driver.Core" version="2.4.3" targetFramework="net451" />
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net451" />
</packages>