Доколкото знам, MongoDB не следи датите на създаване на колекция. Въпреки това, наистина е лесно да направите това сами. Добавете прост метод, нещо подобно, и го използвайте всеки път, когато създавате нова колекция:
public static void CreateCollectionWithMetadata(string collectionName)
{
var result = _db.CreateCollection(collectionName);
if (result.Ok)
{
var collectionMetadata = _db.GetCollection("collectionMetadata");
collectionMetadata.Insert(new { Id = collectionName, Created = DateTime.Now });
}
}
След това, когато имате нужда от информацията, просто потърсете collectionMetadata
колекция. Или, ако искате да използвате метод за разширение като във вашия пример, направете нещо подобно:
public static DateTime GetCreatedDate(this MongoCollection collection)
{
var collectionMetadata = _db.GetCollection("collectionMetadata");
var metadata = collectionMetadata.FindOneById(collection.Name);
var created = metadata["Created"].AsDateTime;
return created;
}