Pokud vím, MongoDB nesleduje data vytvoření kolekce. Je však opravdu snadné to udělat sami. Přidejte jednoduchou metodu, něco takového, a použijte ji, kdykoli vytvoříte novou kolekci:
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 });
}
}
Poté, kdykoli budete potřebovat informace, stačí zadat dotaz na collectionMetadata
sbírka. Nebo, pokud chcete použít metodu rozšíření jako ve vašem příkladu, udělejte něco takového:
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;
}