Per quanto ne so, MongoDB non tiene traccia delle date di creazione della raccolta. Tuttavia, è davvero facile farlo da soli. Aggiungi un metodo semplice, qualcosa del genere, e usalo ogni volta che crei una nuova raccolta:
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 });
}
}
Quindi, ogni volta che hai bisogno delle informazioni, esegui una query su collectionMetadata
collezione. Oppure, se vuoi utilizzare un metodo di estensione come nel tuo esempio, fai qualcosa del genere:
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;
}