Så vidt jeg ved, holder MongoDB ikke styr på samlingens oprettelsesdatoer. Det er dog rigtig nemt at gøre dette selv. Tilføj en simpel metode, sådan noget som denne, og brug den, hver gang du opretter en ny samling:
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 });
}
}
Så når du har brug for oplysningerne, skal du bare forespørge på collectionMetadata
kollektion. Eller, hvis du vil bruge en udvidelsesmetode som i dit eksempel, skal du gøre noget som dette:
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;
}