sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur får jag det datum då en MongoDB-samling skapades med MongoDB C#-drivrutinen?

Så vitt jag vet håller MongoDB inte koll på datum för att skapa samlingar. Det är dock väldigt enkelt att göra detta själv. Lägg till en enkel metod, något sånt här, och använd den när du skapar 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 });
    }
}

Sedan är det bara att fråga collectionMetadata när du behöver informationen samling. Eller, om du vill använda en förlängningsmetod som i ditt exempel, gör något så här:

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. Redis sorterade set och bästa sättet att lagra uids

  2. Hur kan jag köra kommandon i redis utan att få något svar alls?

  3. MongoDb - Ändra typ från Int till Double

  4. PHP kan inte hitta MongoDB-drivrutinen