sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan får jeg den dato, en MongoDB-samling blev oprettet ved hjælp af MongoDB C#-driver?

Så vidt jeg ved, holder MongoDB ikke styr på samlingens oprettelsesdatoer. Det er dog rigtig nemt at gøre dette selv. Tilføj en simpel metode, sådan noget som denne, og brug den, hver gang du opretter en ny samling:

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

Så når du har brug for oplysningerne, skal du bare forespørge på collectionMetadata kollektion. Eller, hvis du vil bruge en udvidelsesmetode som i dit eksempel, skal du gøre noget som dette:

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. [Infographic] Sammenligning af Cassandra vs. MongoDB

  2. Seks kritiske komponenter i en vellykket dataforvaltning

  3. MongoDB forespørger ydeevne for over 5 millioner poster

  4. Fejl 99 ved forbindelse til localhost:6379. Kan ikke tildele den ønskede adresse