sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo obtengo la fecha en que se creó una colección MongoDB usando el controlador MongoDB C#?

Hasta donde yo sé, MongoDB no realiza un seguimiento de las fechas de creación de la colección. Sin embargo, es muy fácil hacerlo usted mismo. Agregue un método simple, algo como esto, y utilícelo cada vez que cree una nueva colección:

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 });
    }
}

Luego, cada vez que necesite la información, simplemente consulte el collectionMetadata recopilación. O, si desea utilizar un método de extensión como en su ejemplo, haga algo como esto:

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;
}