2016-08-04 4 views
0

c#ラッパーを使用してttl機能を使用して文書の有効期限を切ることはできません。C#ラッパーを使用したMongo DB 3.2 ttl

マイコード:

string j = JsonConvert.SerializeXmlNode(xnode, Newtonsoft.Json.Formatting.Indented); 
      var b = BsonDocument.Parse(j); 
      var date = new DateTime(2016,8,4,16,25,0,0); 
      var bdate = new BsonElement("expiresAt", date.ToUniversalTime().ToString("o")); 
      b.Add(bdate); 
      _collection.InsertOneAsync(b); 

文書がexpiresAt要素は次のように見ていると正しく挿入されている: "expiresAt": "2016-08-04T18:38:00.0000000Zは"

私はしました文書を使用して索引を作成しました。db.testc.createIndex({"expireAt":1}、{expireAfterSeconds:0})

文書はコレクションから削除されることはありません。どんな助けもありがとうございます。

答えて

0

私はこれを、コレクション内のコードとデータを調べた後に見つけました。 BSonデータ型の日付が正しく割り当てられていませんでした。この行が誤っていたためです:

var bdate = new BsonElement("expiresAt", date.ToUniversalTime().ToString("o")); 

は次のようになります。

var bdate = new BsonElement("expiresAt", date.ToUniversalTime()); 
関連する問題