Connessione a MongoDB
Fa parte della sezione Database con MongoDB del percorso Node.js di Coddy. Lezione 3 di 29.
Il tuo programma raggiunge MongoDB tramite un oggetto client. Importa MongoClient e creane uno con un indirizzo di connessione. L’indirizzo qui sotto indica MongoDB sullo stesso computer: localhost. Il numero 27017 è la porta su cui è in ascolto il servizio del database.
const client = new MongoClient('mongodb://localhost:27017');
const db = client.db('shop');
const orders = db.collection('orders');La prima riga configura il client; le due successive selezionano un database e una raccolta. Queste righe non leggono i record. In Coddy la connessione è fornita da un database di esercitazione che viene ripristinato quando premi «Gioca». Una normale installazione di MongoDB conserva i dati anche dopo il riavvio dell’applicazione.
Crea il client a livello di modulo, in modo che le richieste lo riutilizzino. Creare un client all’interno della funzione che gestisce la richiesta creerebbe un nuovo pool di connessioni a ogni richiesta con il driver reale.
Sfida
FacileModifica connection.js. Sostituisci il segnaposto con un client che utilizzi mongodb://localhost:27017, il database shelf e la sua raccolta books.
Crea questi valori al di fuori di selectBooks(). Mantieni la funzione in modo che restituisca la raccolta selezionata, così ogni richiesta la riutilizza. La route fornita legge la raccolta per te. Prova a eseguire: GET /result dovrebbe elencare Dune, Kindred ed Emma. Non è necessario aggiungere codice per inserimenti o route.
La route GET /reuse fornita restituisce {"same":true} quando chiamate ripetute ricevono lo stesso riferimento alla raccolta.
Provalo tu
import { MongoClient } from 'mongodb';
// Crea il client, seleziona il database e sostituisci questo segnaposto.
const books = null;
export function selectBooks() {
return books;
}
Tutte le lezioni di Database con MongoDB
1Documenti
Un libro come documentoRaccolte e databaseConnessione a MongoDBLettura dei documenti memorizzatiInserimento di documentiRicerca di un documentoRicerca tramite ObjectIdConfronto tra numeriFiltri di queryScelta dei campi restituitiOrdinamento dei risultati della queryMantenere i primi risultatiProiezione, ordinamento e limiteEsercitati da solo: Playground Express