Udostępnij za pośrednictwem


Zarządzanie kolekcją w usłudze Azure Cosmos DB dla bazy danych MongoDB przy użyciu platformy .NET

DOTYCZY: MongoDB

Zarządzaj kolekcją bazy danych MongoDB przechowywaną w usłudze Azure Cosmos DB przy użyciu natywnego sterownika klienta bazy danych MongoDB.

Uwaga

Przykładowe fragmenty kodu są dostępne w witrynie GitHub jako projekt platformy .NET.

Dokumentacja referencyjna interfejsu API dla bazy danych | MongoDB — pakiet MongoDB (NuGet)

Nazwij kolekcję

W usłudze Azure Cosmos DB kolekcja jest analogiczna do tabeli w relacyjnej bazie danych. Podczas tworzenia kolekcji nazwa kolekcji tworzy segment identyfikatora URI używanego do uzyskiwania dostępu do zasobu kolekcji i wszystkich podrzędnych dokumentów.

Pobieranie wystąpienia kolekcji

Użyj wystąpienia klasy Collection , aby uzyskać dostęp do kolekcji na serwerze.

Poniższe fragmenty kodu zakładają, że połączenie klienta zostało już utworzone.

Tworzenie kolekcji

Aby utworzyć kolekcję, wstaw dokument do kolekcji.

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

Usuwanie kolekcji

Usuń kolekcję z bazy danych, aby ją trwale usunąć. Jednak następna operacja wstawiania lub aktualizowania, która uzyskuje dostęp do kolekcji, spowoduje utworzenie nowej kolekcji o tej nazwie.

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

Pobieranie indeksów kolekcji

Indeks jest używany przez aparat zapytań bazy danych MongoDB w celu zwiększenia wydajności zapytań bazy danych.

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

Zobacz też