【发布时间】:2015-10-15 18:21:38
【问题描述】:
如何知道MongoDB中数据库的创建日期
对于创建数据库,使用关键字“use”,它还切换到已经存在的数据库并显示 dbs list the databases 。 但是对于特定的数据库,如何知道创建日期 请给我建议..
【问题讨论】:
标签: mongodb mongodb-query pymongo mongodb-.net-driver spring-data-mongodb
如何知道MongoDB中数据库的创建日期
对于创建数据库,使用关键字“use”,它还切换到已经存在的数据库并显示 dbs list the databases 。 但是对于特定的数据库,如何知道创建日期 请给我建议..
【问题讨论】:
标签: mongodb mongodb-query pymongo mongodb-.net-driver spring-data-mongodb
根据@Chris_Fulstow 对this similar question 的回答:
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;
}
【讨论】: