MongoDB je populárna, open source, škálovateľná databáza NoSQL, ktorá poskytuje vysokú priepustnosť pre vaše aplikácie založené na dátach. Na rozdiel od relačných databáz, ako sú SQL Server, Oracle a MySQL, ktoré ukladajú údaje do tabuliek podľa rigidnej schémy, MongoDB ukladá údaje do dokumentov s flexibilnou schémou. Existuje veľa takýchto nerelačných databáz vrátane CouchDB, RavenDB a Couchbase. MongoDB sa mi však páči predovšetkým kvôli jeho škálovateľnosti, rýchlosti a možnostiam dynamického dopytovania.
MongoDB používa formát BSON pod kapotou na reprezentáciu dokumentov JSON v jadre úložiska dát. BSON alebo „Binary JSON“ je ľahký a efektívny binárne kódovaný formát na serializáciu údajov, ktorý podporuje rýchly prechod a vyhľadávanie údajov. BSON tiež umožňuje MongoDB podporovať dátové typy - konkrétne int, long, date, floating point a decimal128 - ktoré nie sú zastúpené v JSON.
V dokumente MongoDB sú dokumenty súčasťou zbierok, podobne ako je riadok súčasťou tabuľky v relačnej databáze. Dokument je v podstate kolekcia párov polí a hodnôt, ktoré je tiež možné vnoriť. Upozorňujeme, že hodnotou v MongoDB môže byť dokument, pole dokumentov, pole BSON alebo len typ BSON. Pozrime sa, ako môžeme pracovať s MongoDB pomocou C #.
Nainštalujte si MongoDB a vytvorte nový projekt
Začnite stiahnutím binárnych súborov MongoDB. Rozbaľte binárne súbory do priečinka podľa vášho výberu vo vašom systéme a vytvorte samostatný priečinok (v mojom prípade C: \ data \ db) pre údaje. Potom, ak chcete spustiť MongoDB, prejdite do priečinka, kde je nainštalovaný MongoDB, a spustite mongod
príkaz v okne príkazového riadku. To by malo štandardne spustiť MongoDB na porte 27017.
Vytvorte nový projekt konzolovej aplikácie v Visual Studio a nainštalujte balík MongoDB.Driver prostredníctvom konzoly Správca balíkov NuGet pomocou nasledujúceho príkazu.
PM> Install-Package MongoDB.Driver
Týmto sa naraz nainštalujú nasledujúce tri balíčky NuGet.
- MongoDB.Bson
- MongoDB.Driver.Core
- MongoDB.Driver
Pripojte sa k svojej inštancii MongoDB
Ak sa chcete pripojiť k inštancii MongoDB na jej predvolenom porte 27017, môžete použiť predvolený konštruktor súboru MongoClient
triedy, ako je uvedené nižšie.
var klient = nový MongoClient ();
Teraz zvážte nasledujúcu triedu. Túto triedu použijeme na ukladanie údajov v MongoDB.
verejná trieda Autor{
public int Id {get; sada; }
verejný reťazec FirstName {get; sada; }
verejný reťazec Priezvisko {get; sada; }
}
Vytvorte databázu a zbierku
Nasledujúci zoznam kódov ukazuje, ako môžete vytvoriť databázu a kolekciu v nej a potom vložiť objekt do kolekcie.
static void Main (reťazec [] args){
var connectionString;
var klient = nový MongoClient (connectionString);
IMongoDatabase db = client.GetDatabase (“”);
Autor autor = nový Autor
{
Id = 1,
Krstné meno,
Priezvisko
};
var collection = db.GetCollection („autori“);
collection.InsertOne (autor);
Console.Read ();
}
Váš program by mal obsahovať nasledujúce menné priestory.
pomocou MongoDB.Bson;pomocou MongoDB.Driver;
Teraz si pozrite Hlavný
v zozname kódov vyššie. Upozorňujeme, že nasledujúci príkaz vytvorí novú databázu s názvom ””
ak pod týmto menom neexistuje.
IMongoDatabase db = client.GetDatabase (“”);
Podobne nasledujúci príkaz vytvára novú kolekciu súborov „Autor“
objekty, ak žiadne neexistujú. V obidvoch prípadoch GetCollection
metóda vráti inštanciu kolekcie.
var collection = db.GetCollection („autori“);
Pridajte dokumenty do zbierky
Ďalej vytvoríme inštanciu súboru Autor
triedy a priraďovať k nej hodnoty Krstné meno
a Priezvisko
vlastnosti.
Autor autor = nový Autor{
Id = 1,
Krstné meno,
Priezvisko
};
Pomocou príkazu nižšie vložte inštanciu súboru Autor
triedy do zbierky.
collection.InsertOne (autor);
Upozorňujeme, že pomocou znaku môžete vložiť viac dokumentov naraz VložiťMnohé
alebo InsertManyAsync
metóda. Nasledujúci zoznam kódov ilustruje, ako VložiťMnohé
možno použiť metódu.
pomocou systému;pomocou System.Collections.Generic;
pomocou MongoDB.Bson;
pomocou MongoDB.Driver;
static void Main (reťazec [] args)
{
var connectionString;
var klient = nový MongoClient (connectionString);
IMongoDatabase db = client.GetDatabase (“”);
var collection = db.GetCollection („Autori“);
var author1 = nový BsonDocument
{
{”Id”, 1},
{”Firstname”, “Joydip”},
{„Priezvisko“, „Kanjilal“}
};
var author2 = nový BsonDocument
{
{”Id”, 2},
{„Firstname“, „Steve“},
{„Priezvisko“, „Smith“}
};
var author3 = nový BsonDocument
{
{”Id”, 3},
{„Meno“, „Gary“},
{„Priezvisko“, „Stevens“}
};
var autori = nový Zoznam ();
autori.Pridať (autor1);
autori.Pridať (autor2);
autori.Pridať (autor3);
zbierka.InsertMany (autori);
Console.Read ();
}
The BsonDocument
triedy v balíku MongoDB.Bson sa používa na predstavenie dokumentu BSON. Nasledujúci úryvok kódu ukazuje, ako môžete zobraziť názvy databáz dostupných v prípade servera MongoDB bežiaceho vo vašom systéme.
var connectionString;var klient = nový MongoClient (connectionString);
pomocou (var cursor = client.ListDatabases ())
{
var databaseDocuments = cursor.ToList ();
foreach (var db v databaseDocuments)
{
Console.WriteLine (db [„meno“]. ToString ());
}
}
Po vykonaní vyššie uvedeného fragmentu kódu uvidíte názov databázy (t. J. „”
) uvedené v okne konzoly. Môžete tiež použiť asynchrónnu metódu, ListDatabasesAsync
, aby ste uviedli zoznam názvov databáz, ako je uvedené v útržku kódu uvedenom nižšie.
súkromná statická asynchrónna úloha DisplayDatabaseNames (){
var connectionString;
var klient = nový MongoClient (connectionString);
skús
{
using (var cursor = await client.ListDatabasesAsync ())
{
await cursor.ForEachAsync (document => Console.WriteLine (document.ToString ()));
}
}
chytiť
{
// Sem napíš svoj vlastný kód na spracovanie výnimiek
}
}
MongoDB je populárna NoSQL databáza, ktorá má flexibilný dátový model a ladne škáluje. MongoDB poskytuje podporu pre horizontálnu škálovateľnosť pomocou techniky známej ako sharding. O pokročilejších koncepciách v MongoDB budem diskutovať v budúcich príspevkoch tu. Do tej doby si možno budete chcieť prečítať ovládač MongoDB C # v dokumentácii MongoDB.