Dela via


Hantera en samling i Azure Cosmos DB för MongoDB med hjälp av .NET

GÄLLER FÖR: MongoDB

Hantera din MongoDB-samling som lagras i Azure Cosmos DB med den interna MongoDB-klientdrivrutinen.

Kommentar

Exempelkodfragmenten är tillgängliga på GitHub som ett .NET-projekt.

API för MongoDB-referensdokumentation | MongoDB Package (NuGet)

Namnge en samling

I Azure Cosmos DB motsvarar en samling en tabell i en relationsdatabas. När du skapar en samling utgör samlingsnamnet ett segment av den URI som används för att komma åt samlingsresursen och eventuella underordnade dokument.

Hämta samlingsinstans

Använd en instans av klassen Samling för att komma åt samlingen på servern.

Följande kodfragment förutsätter att du redan har skapat klientanslutningen.

Skapa en samling

Om du vill skapa en samling infogar du ett dokument i samlingen.

// insert one document
var product = new BsonDocument
{
    { "name", "Sand Surfboard" },
    { "category", "gear-surf-surfboards" },
    { "count", 1 }
};

client.GetDatabase("adventureworks").GetCollection<BsonDocument>("products").InsertOne(product);

// insert many documents
var products = new List<BsonDocument>() 
{
    new BsonDocument
    {
        { "name", "Sand Surfboard" },
        { "category", "gear-surf-surfboards" },
        { "count", 1 }
    },
    new BsonDocument
    {
        { "name", "Ocean Surfboard" },
        { "category", "gear-surf-surfboards" },
        { "count", 5 }
    }
};

client.GetDatabase("adventureworks").GetCollection<BsonDocument>("products").InsertMany(products);

Ta bort en samling

Ta bort samlingen från databasen för att ta bort den permanent. Nästa infognings- eller uppdateringsåtgärd som kommer åt samlingen skapar dock en ny samling med det namnet.

client.GetDatabase("adventureworks").DropCollection("products");

Hämta samlingsindex

Ett index används av MongoDB-frågemotorn för att förbättra prestanda för databasfrågor.

var indexes = client.GetDatabase("adventureworks").GetCollection<BsonDocument>("products").Indexes;

var count = 0;
using (var cursor = await indexes.ListAsync())
{
    do
    {
        if (cursor.Current != null)
        {
            foreach (var index in cursor.Current)
            {
                Console.WriteLine(cursor.Current);
                count++;
            }
        }
    }
    while (await cursor.MoveNextAsync());
}

Se även