Até onde eu sei, o MongoDB não acompanha as datas de criação da coleção. No entanto, é muito fácil fazer isso sozinho. Adicione um método simples, algo assim, e use-o sempre que criar uma nova coleção:
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 });
}
}
Então, sempre que precisar das informações, basta consultar o
collectionMetadata
coleção. Ou, se você quiser usar um método de extensão como no seu exemplo, faça algo assim: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;
}