Voor zover ik weet, houdt MongoDB de aanmaakdatums van de collectie niet bij. Het is echter heel eenvoudig om dit zelf te doen. Voeg een eenvoudige methode toe, zoiets als deze, en gebruik deze telkens wanneer je een nieuwe collectie aanmaakt:
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 });
}
}
Wanneer u de informatie nodig heeft, hoeft u alleen maar de collectionMetadata
. op te vragen verzameling. Of, als u een uitbreidingsmethode wilt gebruiken zoals in uw voorbeeld, doe dan zoiets als dit:
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;
}