Theo như tôi biết, MongoDB không theo dõi ngày tạo bộ sưu tập. Tuy nhiên, nó thực sự dễ dàng để tự mình làm điều này. Thêm một phương thức đơn giản, tương tự như thế này và sử dụng nó bất cứ khi nào bạn tạo một bộ sưu tập mới:
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 });
}
}
Sau đó, bất cứ khi nào bạn cần thông tin, chỉ cần truy vấn collectionMetadata
thu thập. Hoặc, nếu bạn muốn sử dụng một phương thức mở rộng như trong ví dụ của mình, hãy làm như sau:
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;
}