O ile wiem, MongoDB nie śledzi dat utworzenia kolekcji. Jednak naprawdę łatwo jest to zrobić samemu. Dodaj prostą metodę, podobną do tej, i używaj jej za każdym razem, gdy tworzysz nową kolekcję:
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 });
}
}
Jeśli potrzebujesz informacji, po prostu zapytaj collectionMetadata
kolekcja. Lub, jeśli chcesz użyć metody rozszerzenia, jak w twoim przykładzie, zrób coś takiego:
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;
}