sql >> Database >  >> NoSQL >> MongoDB

Hoe kom ik aan de datum waarop een MongoDB-verzameling is gemaakt met behulp van het MongoDB C#-stuurprogramma?

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


  1. Welke tekens zijn NIET toegestaan ​​in MongoDB-veldnamen?

  2. Moet ik de verbinding expliciet verbreken?

  3. Mongoose:pad voor validatiefout is vereist

  4. Hoe authenticatie op MongoDB inschakelen via Docker?