Správa kolekce ve službě Azure Cosmos DB pro MongoDB pomocí .NET
PLATÍ PRO: MongoDB
Spravujte kolekci MongoDB uloženou ve službě Azure Cosmos DB pomocí nativního klientského ovladače MongoDB.
Poznámka:
Ukázkové fragmenty kódu jsou k dispozici na GitHubu jako projekt .NET.
Referenční dokumentace | k rozhraní API pro MongoDB – Balíček MongoDB (NuGet)
Pojmenování kolekce
Ve službě Azure Cosmos DB je kolekce podobná tabulce v relační databázi. Při vytváření kolekce tvoří název kolekce segment identifikátoru URI, který se používá pro přístup k prostředku kolekce a všem podřízeným dokumentům.
Získání instance kolekce
Pro přístup k kolekci na serveru použijte instanci třídy Collection .
Následující fragmenty kódu předpokládají, že jste už vytvořili připojení klienta.
Vytvoření kolekce
Pokud chcete vytvořit kolekci, vložte dokument do kolekce.
- MongoClient.Database.Collection
- MongoClient.Database.Collection.InsertOne
- MongoClient.Database.Collection.InsertMany
// 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);
Vyřazení kolekce
Odstraňte kolekci z databáze, abyste ji trvale odebrali. Další operace vložení nebo aktualizace, která přistupuje k kolekci, však vytvoří novou kolekci s tímto názvem.
client.GetDatabase("adventureworks").DropCollection("products");
Získání indexů kolekce
Dotazovací stroj MongoDB používá index ke zlepšení výkonu databázových dotazů.
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());
}