Насколько я знаю, MongoDB не отслеживает даты создания коллекции. Тем не менее, это действительно легко сделать это самостоятельно. Добавьте простой метод, что-то вроде этого, и используйте его всякий раз, когда вы создаете новую коллекцию:
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 });
}
}
Затем, когда вам понадобится информация, просто запросите коллекцию collectionMetadata
. Или, если вы хотите использовать метод расширения, как в вашем примере, сделайте что-то вроде этого:
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;
}