Hoe MongoDB te ontwikkelen met JavaScript

Hoe Mongodb Te Ontwikkelen Met Javascript



Een van de belangrijkste voordelen van het gebruik van MongoDB voor webontwikkelaars is de uitstekende integratie met JavaScript. MongoDB biedt een native JavaScript-stuurprogramma waarmee ontwikkelaars rechtstreeks met de database kunnen communiceren met behulp van de JavaScript-code. Nu is het installeren van het MongoDB Node.js-stuurprogramma op de machine noodzakelijk voordat we kunnen beginnen met het maken van de MongoDB-applicaties in JavaScript. Hiervoor moeten we het volgende commando gebruiken:

npm ik mongodb

Met het stuurprogramma kunnen we communiceren met MongoDB vanuit uw JavaScript-code en verschillende bewerkingen uitvoeren, zoals verbinding maken met de database, gegevens invoegen, de gegevens opvragen en de gegevens bijwerken.







Voorbeeld 1: Ontwikkel een MongoDB-verbinding met JavaScript

Begin met het tot stand brengen van de verbinding met de MongoDB-server met JavaScript, wat tot stand kan worden gebracht met behulp van de 'npm' -module, zoals eerder besproken.



const { MongoClient } = vereisen ( 'mongodb' ) ;

const URL = 'mongodb:// 127.0.0.1:27017 ' ;
const cliënt = nieuw MongoClient ( URL ) ;
const dbNaam = 'MijnDB' ;

asynchroon functie voornaamst ( ) {
wacht op cliënt. aansluiten ( ) ;
troosten. loggen ( 'Verbonden met server succesvol' ) ;
const db = cliënt. db ( dbNaam ) ;
const verzameling = db. verzameling ( 'Personen' ) ;

opbrengst 'klaar.' ;
}

voornaamst ( )
. Dan ( troosten. loggen )
. vangst ( troosten. fout )
. Eindelijk ( ( ) => cliënt. dichtbij ( ) ) ;

We importeren eerst de benodigde MongoClient uit de “mongodb” -module in ons “File.js” -bestand. Vervolgens definiëren we de verbindings-URL voor de MongoDB-server (url) en maken we een nieuwe MongoClient-instantie met behulp van de opgegeven URL.



Daarna specificeren we de naam van de MongoDB-database (dbName) die in de verbinding moet worden gebruikt. Vervolgens verwerkt de asynchrone functie main() de hoofdbewerkingen op de MongoDB-server. Hier maken we verbinding met de MongoDB-server met behulp van await client.connect(). Dit is een asynchrone bewerking, dus de functie pauzeert totdat de verbinding succesvol tot stand is gebracht. We krijgen het bericht te zien dat op de prompt verschijnt zodra de verbinding succesvol tot stand is gebracht. We krijgen een verwijzing naar de database met de opgegeven naam in “dbName” met behulp van de client.db(dbName).





Vervolgens krijgen we een verwijzing naar de verzameling met de naam “Persons” met behulp van db.collection(‘Persons’). Nadat we de functie main() hebben gedefinieerd, roepen we main() aan om de bewerkingen uit te voeren. Als de functie main() succesvol wordt omgezet, wordt het resultaat afgedrukt (in dit geval is dit de tekenreeks “done”) met behulp van de .then(console.log). Als er tijdens de uitvoering een fout optreedt, wordt de fout opgespoord en afgedrukt met behulp van de .catch(console.error). Ten slotte zorgt het ervoor dat de MongoDB-clientverbinding wordt gesloten met behulp van de .finally(() => client.close()).

Daarom toont de prompt het bericht waar de MongoDB-verbinding tot stand is gebracht in het JavaScript-bestand:



Voorbeeld 2: Voeg een MongoDB-document in met JavaScript

Nu de verbinding met de MongoDB-server tot stand is gebracht, kunnen we de MongoDB-query's met JavaScript gebruiken. Hier passen we de invoegquery toe om het enkele document in te voegen.

const { MongoClient } = vereisen ( 'mongodb' ) ;

const URL = 'mongodb:// 127.0.0.1:27017 ' ;
const cliënt = nieuw MongoClient ( URL ) ;
const dbNaam = 'MijnDB' ;

asynchroon functie voornaamst ( ) {
const db = cliënt. db ( dbNaam ) ;
const verzameling = db. verzameling ( 'gebruikers' ) ;
const invoegenDoc =
wacht op de verzameling. invoegenEen ( { naam : 'Andreas' , leeftijd : 23 } ) ;
troosten. loggen ( 'Document ingevoegd =' , invoegenDoc ) ;
opbrengst 'klaar.' ;
}

voornaamst ( )
. Dan ( troosten. loggen )
. vangst ( troosten. fout )
. Eindelijk ( ( ) => cliënt. dichtbij ( ) ) ;

We definiëren de functie main() als een asynchrone functie die de invoegbewerking van de database uitvoert. Daarin maken we verbinding met de MongoDB-server met behulp van de MongoClient-instantie en de URL. Vervolgens hebben we toegang tot de opgegeven database (MyDB) met behulp van de client.db(dbName) en halen we de verzameling “users” uit de database met behulp van de db.collection(‘users’).

Daarna voegen we een document met de veldnaam als “Andrew” en de leeftijd als 23 in de “users” -collectie in met behulp van de collection.insertOne(). De methode insertOne() retourneert een belofte die wordt opgelost met het resultaat van de invoeging. Het toegevoegde document wordt weergegeven met console.log. Ten slotte sluiten we de MongoDB-clientverbinding.

Het document dat in de MongoDB-databasecollectie is ingevoegd, is met succes ingevoegd, zoals weergegeven in de volgende uitvoer:

Voorbeeld 3: Zoek een MongoDB-document met JavaScript

Op dezelfde manier kunnen we de zoekquery van MongoDB met JavaScript toepassen om het document te vinden uit de verzameling die in het vorige voorbeeld is gemaakt.

const { MongoClient } = vereisen ( 'mongodb' ) ;

const URL = 'mongodb:// 127.0.0.1:27017 ' ;
const cliënt = nieuw MongoClient ( URL ) ;
const dbNaam = 'MijnDB' ;

asynchroon functie voornaamst ( ) {
const db = cliënt. db ( dbNaam ) ;
const verzameling = db. verzameling ( 'gebruikers' ) ;
const vindQuery = { naam : 'Andreas' } ;
const vindDoc = wacht op de verzameling. vinden ( vindQuery ) . naarArray ( ) ;
troosten. loggen ( 'Document =' , vindDoc ) ;
}

voornaamst ( )
. Dan ( troosten. loggen )
. vangst ( troosten. fout )
. Eindelijk ( ( ) => cliënt. dichtbij ( ) ) ;

We beginnen met de demonstratie van de hoofdfunctie waarbij we eerst verbinding maken met de MongoDB-server met behulp van de gemaakte MongoClient-instantie en de opgegeven URL. Vervolgens hebben we toegang tot de MyDB-database met behulp van de client.db(dbName) waarbij de dbName de eerder gedefinieerde databasenaam is.

Vervolgens krijgen we een verwijzing naar de ‘users’-collectie uit de database met behulp van db.collection(‘users’). Er wordt een queryobject met de naam “findQuery” gemaakt, dat specificeert dat de op te halen documenten het naamveld gelijk aan “Andrew” moeten hebben. Daarna voeren we een “find” -query uit op de “users” -collectie met behulp van de collection.find(findQuery) die een cursor naar de overeenkomende documenten retourneert.

Het trefwoord “await” wordt vóór collection.find() gebruikt om ervoor te zorgen dat het resultaat wordt opgelost voordat verder wordt gegaan. Het resultaat van de zoekbewerking wordt geconverteerd naar een array van documenten met behulp van toArray(), en de gevonden documenten worden opgeslagen in de variabele “findDoc”. De documenten worden vervolgens in de console geregistreerd met behulp van console.log.

Als gevolg hiervan wordt bij uitvoering het gevonden document van de MongoDB-collectie weergegeven:

Voorbeeld 4: Update een MongoDB-document met JavaScript

Vervolgens voeren we de “update” -bewerking uit in JavaScript om het opgegeven document van de MongoDB-verzameling bij te werken.

const { MongoClient } = vereisen ( 'mongodb' ) ;

const URL = 'mongodb:// 127.0.0.1:27017 ' ;
const cliënt = nieuw MongoClient ( URL ) ;
const dbNaam = 'MijnDB' ;

asynchroon functie voornaamst ( ) {
const db = cliënt. db ( dbNaam ) ;
const verzameling = db. verzameling ( 'gebruikers' ) ;
const updateQuery = { naam : 'Andreas' } ;
const updateNaam = { $ingesteld : { naam : 'Zichzelf' } } ;
const updateResultaat = wacht op de verzameling. updateEen ( updateQuery , updateNaam ) ;
troosten. loggen ( 'Bijgewerkt document =' , updateResultaat ) ;
opbrengst 'klaar' ;
}

voornaamst ( )
. Dan ( troosten. loggen )
. vangst ( troosten. fout )
. Eindelijk ( ( ) => cliënt. dichtbij ( ) ) ;

Om een ​​document in de verzameling “users” bij te werken, roepen we de functie main() aan. Vervolgens bereiden we een ‘update’-query voor met behulp van { naam: ‘Andrew’ } om het document te vinden waarvan het naamveld gelijk is aan ‘Andrew’. Daarna stellen we het naamveld van het overeenkomende document in op “Sam” met behulp van { $set: { name: ‘Sam’ } }.

We definiëren de “update” -query en de “update” -bewerking om de update uit te voeren met behulp van de collection.updateOne (updateQuery, updateName). De methode updateOne() werkt het eerste document bij dat overeenkomt met de “update”-query en retourneert een object dat het resultaat van de update vertegenwoordigt. De variabele “updateResult” bevat de uitkomst van de updateactie.

Het daaropvolgende uitvoerscherm toont de resultaten van de bijgewerkte zoekopdracht:

Voorbeeld 5: Een MongoDB-document verwijderen met JavaScript

Ten slotte gebruiken we de verwijdermethode van MongoDB om het vorige document uit MongoDB binnen JavaScript te verwijderen.

const { MongoClient } = vereisen ( 'mongodb' ) ;

const URL = 'mongodb:// 127.0.0.1:27017 ' ;
const cliënt = nieuw MongoClient ( URL ) ;
const dbNaam = 'MijnDB' ;

asynchroon functie voornaamst ( ) {
const db = cliënt. db ( dbNaam ) ;
const verzameling = db. verzameling ( 'gebruikers' ) ;
const deleteQuery = { naam : 'Zichzelf' } ;
const verwijderResultaat = wacht op de verzameling. verwijderEen ( deleteQuery ) ;
troosten. loggen ( 'Verwijderd document =' , verwijderResultaat ) ;
opbrengst 'klaar' ;
}

voornaamst ( )
. Dan ( troosten. loggen )
. vangst ( troosten. fout )
. Eindelijk ( ( ) => cliënt. dichtbij ( ) ) ;

We maken een ‘delete’-queryobject met de naam ‘deleteQuery’, dat de criteria specificeert voor de documenten die moeten worden verwijderd. In dit geval zoekt het naar documenten waarvan het naamveld gelijk is aan “Sam”. Nadat we de verwijderquery hebben voorbereid, passen we de daadwerkelijke verwijderingsbewerking toe met behulp van de methode deleteOne() van het verzamelobject.

We geven de “deleteQuery” door als argument aan “deleteOne”, waardoor het eerste overeenkomende document wordt verwijderd dat voldoet aan de opgegeven criteria in de query. De variabele “deleteResult” bevat de uitkomst van de verwijderactie.

Het opgegeven document wordt uit de MongoDB-verzameling verwijderd met behulp van het “javascript”-bestand:

Conclusie

We hebben nu een fundamenteel begrip van het gebruik van MongoDB met JavaScript via het MongoDB Node.js-stuurprogramma. We hebben het allemaal gedemonstreerd met de verschillende Mongo DB-bewerkingen, van de verbinding tot het verwijderen van het document met JavaScript. Vanaf hier kunnen we complexere applicaties bouwen en MongoDB indien nodig integreren in de Node.js-projecten.