Programmēšana

Kā strādāt ar MongoDB .NET

MongoDB ir populāra, atvērtā koda, paplašināta NoSQL datu bāze, kas nodrošina lielu datu pārraides lietojumprogrammu caurlaidspēju. Atšķirībā no relāciju datu bāzēm, piemēram, SQL Server, Oracle un MySQL, kas datus glabā tabulās pēc stingras shēmas, MongoDB datus glabā dokumentos ar elastīgu shēmu. Apkārt ir daudz šādu ar relāciju nesaistītu datu bāzu, tostarp CouchDB, RavenDB un Couchbase. Tomēr man MongoDB patīk galvenokārt tā mērogojamības, ātruma un dinamisko vaicājumu iespēju dēļ.

MongoDB izmanto BSON formātu zem pārsega, lai attēlotu JSON dokumentus datu krātuves centrā. BSON jeb “Binary JSON” ir viegls un efektīvs binārā kodējuma datu sērijas formāts, kas atbalsta ātru datu pārvietošanos un meklēšanu. BSON arī ļauj MongoDB atbalstīt datu tipus - proti, ilgs, datums, peldošs punkts un decimāls128 -, kas nav attēloti JSON.

MongoDB dokumenti ir daļa no kolekcijām, līdzīgi kā rinda ir daļa no tabulas relāciju datu bāzē. Dokuments būtībā ir lauku un vērtību pāru kopums, kurus var arī ligzdot. Ņemiet vērā, ka MongoDB vērtība var būt dokuments, dokumentu masīvs, BSON masīvs vai vienkārši BSON tips. Apskatīsim, kā mēs varam strādāt ar MongoDB, izmantojot C #.

Instalējiet MongoDB un izveidojiet jaunu projektu

Vispirms lejupielādējiet MongoDB bināros failus. Atbrīvojiet bināros failus izvēlētajā mapē sistēmā un izveidojiet atsevišķu mapi (manā gadījumā C: \ data \ db) datiem. Pēc tam, lai palaistu MongoDB, dodieties uz mapi, kurā ir instalēts MongoDB, un izpildiet mongods komandu uzvednes logā. Pēc noklusējuma MongoDB vajadzētu sākt 27017. portā.

Izveidojiet jaunu konsoles lietojumprogrammas projektu Visual Studio un instalējiet MongoDB.Driver pakotni, izmantojot NuGet Package Manager Console ar šādu komandu.

PM> Install-Package MongoDB.Driver

Tas vienā piegājienā instalēs trīs nākamās NuGet paketes.

  • MongoDB.Bson
  • MongoDB.Driver.Core
  • MongoDB. Vadītājs

Izveidojiet savienojumu ar savu MongoDB instanci

Lai izveidotu savienojumu ar MongoDB instanci tā noklusējuma portā 27017, varat izmantot noklusējuma konstruktoru MongoClient klase, kā parādīts zemāk.

var klients = jauns MongoClient ();

Tagad apsveriet šādu klasi. Mēs izmantosim šo klasi datu glabāšanai MongoDB.

sabiedrības klase Autors

    {

public int Id {get; komplekts; }

publiskā virkne FirstName {get; komplekts; }

publiskā virkne Uzvārds {get; komplekts; }

    }

Izveidojiet datu bāzi un kolekciju

Šis kodu saraksts parāda, kā jūs varat izveidot datu bāzi un kolekciju tajā un pēc tam ievietot objektu kolekcijā.

static void Main (virkne [] args)

    {           

var connectionString;

var klients = jauns MongoClient (connectionString);

IMongoDatabase db = klients.GetDatabase (“”);

Autors autors = jauns autors

        {

Id = 1,

Vārds,

Uzvārds

        };

var kolekcija = db.GetCollection (“autori”);

kolekcija.InsertOne (autors);

Konsole. Lasīt ();

    }

Ņemiet vērā, ka programmā jāiekļauj šādas nosaukumvietas.

izmantojot MongoDB.Bson;

izmantojot MongoDB.Driver;

Tagad skatiet Galvenais metodi iepriekš minētajā kodu sarakstā. Ņemiet vērā, ka šis apgalvojums izveido jaunu datu bāzi ar nosaukumu ”” ja neviens tāds nepastāv.

IMongoDatabase db = klients.GetDatabase (“”);

Līdzīgi ar šo paziņojumu tiek izveidota jauna “Autors” objekti, ja tādu nav. Jebkurā gadījumā GetCollection metode atgriež kolekcijas gadījumu.

var kolekcija = db.GetCollection (“autori”);

Pievienojiet dokumentus kolekcijai

Pēc tam mēs izveidojam Autors klasi un piešķirt tai vērtības Vārds un Uzvārds īpašības.

Autors autors = jauns autors

{

Id = 1,

Vārds,

Uzvārds

};

Izmantojiet zemāk esošo paziņojumu, lai ievietotu Autors klase kolekcijā.

kolekcija.InsertOne (autors);

Ņemiet vērā, ka vienlaikus var ievietot vairākus dokumentus IevietotDaudzi vai InsertManyAsync metodi. Šis kodu saraksts parāda, kā IevietotDaudzi metodi.

izmantojot sistēmu;

izmantojot System.Collections.Generic;

izmantojot MongoDB.Bson;

izmantojot MongoDB.Driver;

static void Main (virkne [] args)

    {           

var connectionString;

var klients = jauns MongoClient (connectionString);

IMongoDatabase db = klients.GetDatabase (“”);

var kolekcija = db.GetCollection (“Autori”);

var author1 = jauns BsonDocument

        {

{”Id”, 1},

{”Vārds”, “Joydips”},

{”Uzvārds”, “Kanjilal”}

        };

var author2 = jauns BsonDocument

        {

{”Id”, 2},

{”Vārds”, “Stīvs”},

{”Uzvārds”, “Smits”}

        };

var author3 = jauns BsonDocument

        {

{”Id”, 3},

{”Vārds”, “Gerijs”},

{”Uzvārds”, “Stīvensa”}

        };

var autori = jauns saraksts ();

autori.Pievienot (autors1);

autori.Pievienot (autors2);

autori.Pievienot (autors3);

kolekcija.IevietotDaudzi (autori);

Konsole. Lasīt ();

    }

The BsonDocument klase MongoDB.Bson paketē tiek izmantota, lai attēlotu BSON dokumentu. Šis koda fragments parāda, kā jūs varat parādīt to datu bāzu nosaukumus, kas ir pieejami jūsu sistēmā darbojošās MongoDB instancē.

var connectionString;

var klients = jauns MongoClient (connectionString);

izmantojot (var kursors = klients.ListDatabases ())

  {

var databaseDocuments = kursors.ToList ();

foreach (var db datubāzēDocuments)

      {

Console.WriteLine (db [“nosaukums”]. ToString ());

      }

  }

Izpildot iepriekš minēto koda fragmentu, tiks parādīts datu bāzes nosaukums (t.i.,), kas uzskaitīti konsoles logā. Varat arī izmantot asinhrono metodi, ListDatabasesAsync, lai uzskaitītu datu bāzes nosaukumus, kā parādīts tālāk sniegtajā koda fragmentā.

privāts statisks asinhronais uzdevums DisplayDatabaseNames ()

    {

var connectionString;

var klients = jauns MongoClient (connectionString);

mēģiniet

        {

izmantojot (var cursor = await client.ListDatabasesAsync ())

            {

gaida kursoru.ForEachAsync (document => Console.WriteLine (document.ToString ()));

            }               

        }

noķert

        {

// Šeit ierakstiet savu kodu, lai rīkotos ar izņēmumiem

        }

    }

MongoDB ir populāra NoSQL datu bāze, kurai ir elastīgs datu modelis un graciozs mērogs. MongoDB nodrošina atbalstu horizontālai mērogošanai, izmantojot paņēmienu, kas pazīstams kā dalīšana. Turpmākajos ierakstos šeit apspriedīšu progresīvākus jēdzienus MongoDB. Līdz tam, iespējams, vēlēsities izlasīt MongoDB C # draiveri MongoDB dokumentācijā.

$config[zx-auto] not found$config[zx-overlay] not found