Autant que je sache, MongoDB ne garde pas trace des dates de création des collections. Cependant, il est très facile de le faire soi-même. Ajoutez une méthode simple, quelque chose comme celle-ci, et utilisez-la chaque fois que vous créez une nouvelle collection :
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 });
}
}
Ensuite, chaque fois que vous avez besoin des informations, interrogez simplement le collectionMetadata
le recueil. Ou, si vous souhaitez utiliser une méthode d'extension comme dans votre exemple, procédez comme suit :
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;
}