根据我的经验,请尝试使用_ts field
。我们可以从document获得更多信息。 我做了一个在我身边创建TTL索引的演示,它工作正常。以下是详细的步骤。
1.创建C#控制台项目并添加MongoDB SDK
2.增加了一个Person类
using MongoDB.Bson;
public class Person
{
public ObjectId Id { get; set; }
public string Name { get; set; }
}
3.创建MongoDB的客户端,我们可以从Azure的门户网站的代码。
4.增加文件收集来自Azure的门户
6.Create TTL指数
var db = mongoClient.GetDatabase("dbname");
var collection = db.GetCollection<Person>("collectionname");
collection.InsertOne(new Person() {Name = "tom"});
5.检查上_ts
场
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>
“不工作” 的意思......什么?是否有错误讯息?什么都没有发生? –
嗨大卫,代码没有返回任何错误,但插入的文档10秒后不会过期。 – Abethan
如果有用,请将其标记为有助于更多社区的答案。 –