Zrobotyzowana współczesna aplikacja ma nośnik do przechowywania danych na swoim zapleczu, takim jak aplikacja Node, która może współpracować zarówno z nierelacyjnymi (takimi jak PostgresQL, MongoDB), jak i relacyjnymi (takimi jak MySQL, Oracle).
MongoDB to nierelacyjna baza danych, która jest stosunkowo łatwa w użyciu i wydajna, a jeśli jesteś programistą Node.js, który chce poznać korzyści, jakie przynosi i jak rozpocząć tworzenie bezpiecznej integracji z aplikacją Node, to jest przewodnikiem dla Ciebie!
W tym artykule dowiemy się, jak zintegrować/połączyć się z MongoDB; bardzo popularną nierelacyjną bazę danych z Node.js i zobacz, jak możemy ją wykorzystać w aplikacjach Node.
Uwaga: Aby kontynuować, musisz zainstalować Node.js. Możesz pobrać najdłuższą stabilną wersję (LTS) i zainstalować ją na lokalnym komputerze Oficjalna strona pobierania.
Krótka informacja o MongoDB
MongoDB to najpopularniejsza i najbardziej zaawansowana dokumentowa baza danych, w której wszystkie dane są przechowywane w Binary JSON (JavaScript Object Notation) znanym jako BSON. BSON jest dokument, bez potrzeby stosowania predefiniowanego schematu danych. Umożliwia przechowywanie w tym samym miejscu danych, do których aplikacja często uzyskuje wspólny dostęp, oraz ułatwia i przyspiesza odczyt bazy danych.
W przeciwieństwie do tabel relacyjnych kolekcje są samowystarczalne, co znacznie ułatwia pracę z nimi. Kiedy nowy dokument jest tworzony w kolekcji MongoDB, przypisywany jest do niego identyfikator, aby był unikalny dla tej kolekcji, a wewnątrz dokumentu można zdefiniować wiele pól; gdzie wartością może być wariant typów danych, począwszy od tablic, łańcuchów, liczb całkowitych, obiektów i tak dalej.
Aby manipulować danymi, interfejs API zapytań jest przydatny do wykonywania podstawowych operacji tworzenia, odczytu, aktualizacji i usuwania (CRUD) w bazie danych. Można również tworzyć indeksy pomocnicze, aby zapewnić optymalizację i sprawić, by typowe zapytania były niezwykle szybkie. Obsługiwane są również zapytania geoprzestrzenne, które umożliwiają znalezienie dokumentów w określonej lokalizacji geograficznej.
Pierwsze kroki z MongoDB
Zanim zaczniemy łączyć się z MongoDB z aplikacji Node, przejdź do oficjalnej strony internetowej MongoDB, aby zarejestrować się za pomocą Try Free
przycisk (jeśli nie masz jeszcze konta):
Po utworzeniu konta przejdź do kliknięcia Build a Database
i kliknij, aby utworzyć bazę danych:
Następnie utwórz współdzielony klaster (jest bezpłatny na zawsze!) i nadaj mu wybraną nazwę.
Wspólny klaster jest idealny do eksperymentowania w ograniczonej piaskownicy. W każdej chwili możesz przejść na klaster produkcyjny.
Po pomyślnym utworzeniu klastra kliknij przycisk Connect
przycisk do połączenia z klastrem:
Pokazane są teraz cztery różne sposoby łączenia się z MongoDB, ale ponieważ chcemy połączyć się z aplikacją Node, wybierzmy Connect your application
opcja:
Następnie zostaniesz poproszony o wybranie metody połączenia. Tutaj upewnij się, że wybrałeś Node.js jako sterownik i wybierz odpowiednią wersję (używam wersji 4.1 lub nowszej podczas pisania tego artykułu).
Wyświetlany jest również ciąg połączenia, który jest przydatny do łączenia naszego klastra MongoDB z aplikacją Node:
Teraz musimy utworzyć aplikację Node.js, aby połączyć się z bazą danych MongoDB.
Budowa aplikacji Node
W preferowanym katalogu dla tego projektu utwórz nowy folder:
$ mkdir integrating-mongodb-node
Następnie uruchomić npm init
w terminalu, aby zainicjować aplikację Node za pomocą a package.json
plik, który umożliwia nam śledzenie zależności aplikacji:
$ npm init
package name: (codes) integrating-mongodb-node
version: (1.0.0)
description: learning how to connect mongodb to a node app
entry point: (server.js)
test command:
git repository:
keywords:
author:
Is this OK? (yes) yes
Zapoznaj się z naszym praktycznym, praktycznym przewodnikiem dotyczącym nauki Git, zawierającym najlepsze praktyki, standardy przyjęte w branży i dołączoną ściągawkę. Zatrzymaj polecenia Google Git, a właściwie uczyć się to!
Teraz, gdy pomyślnie zainicjowaliśmy package.json
, przejdźmy do instalacji dwóch pakietów, które będą pomocne w budowie naszego serwera. Pierwszy to Express.js, który jest frameworkiem webowym do szybkiego i łatwego tworzenia aplikacji Node:
$ yarn add express -D
Drugim pakietem, który byśmy zainstalowali, jest pakiet Mongoose, który pomógłby nam zbudować odpowiedni schemat dla naszej bazy danych w aplikacji Node:
$ yarn add mongoose -D
Po pomyślnym zainstalowaniu wymaganych zależności programistycznych możemy teraz napisać kod łączący naszą bazę danych MongoDB z naszą aplikacją Node.
W katalogu, który właśnie utworzyliśmy dla projektu, utwórz plik server.js
filet
$ touch server.js
Następnie definiujemy podstawową konfigurację aplikacji Node w server.js
, tworząc prosty serwer ekspresowy.
const express = require("express");
const mongoose = require("mongoose");
const app = express();
const port = 8000;
app.listen(port, () => {
console.log(`Server started at port ${port}`);
});
Możemy potwierdzić, że nasz serwer działa tak, jak powinien, uruchamiając następujący kod w terminalu.
$ node server.js
Co powinno skutkować:
Server started at port 8000
Teraz możesz wrócić do pulpitu nawigacyjnego MongoDB, aby skopiować URI (Uniform Resource Idenfier) w celu połączenia aplikacji Node z bazą danych.
I server.js
utwórz zmienną do przechowywania jednolitego identyfikatora zasobu i zastąp identyfikator URI z hasłem twojego konta MongoDB.
const express = require("express");
const mongoose = require("mongoose");
const app = express();
const uri =
"mongodb+srv://UcheAzubuko:@stackabusecluster.fgavg5s.mongodb.net/?retryWrites=true&w=majority";
const port = 8000;
app.listen(port, () => {
console.log(`Server started at port ${port}`);
});
Następnie tworzymy funkcję asynchroniczną, która umożliwi nam połączenie z MongoDB, ponieważ nie wiemy, ile czasu może zająć wykonanie funkcji, zanim uzyskamy połączenie z bazą danych:
const express = require("express");
const mongoose = require("mongoose");
const app = express();
const uri =
"mongodb+srv://UcheAzubuko:@stackabusecluster.fgavg5s.mongodb.net/?retryWrites=true&w=majority";
async function connect() {
try {
await mongoose.connect(uri);
console.log("Connected to MongoDB");
} catch (error) {
console.log(error);
}
}
connect();
const port = 8000;
app.listen(port, () => {
console.log(`Server started at port ${port}`);
});
Stworzyliśmy funkcję asynchroniczną, która rejestruje a Connected to MongoDB
komunikat, gdy połączenie zostało pomyślnie nawiązane między MongoDB a aplikacją Node, i rejestruj wszelkie błędy, jeśli wystąpi błąd.
Teraz powinniśmy zrestartować serwer:
$ node server.js
I pomyślnie otrzymaj komunikat informujący nas, że zostało nawiązane bezpieczne połączenie między bazą danych MongoDB a aplikacją Node:
Server started at port 8000
Connected to MongoDB
W tym momencie, gdy wrócisz do pulpitu nawigacyjnego klastra projektu, zobaczysz teraz informacje, które pokazują, że ostatnio było połączenie z bazą danych:
Dobra ludzie, to jest to! Z powodzeniem zintegrowaliśmy bazę danych MongoDB z aplikacją Node.js.
Wnioski
W tym artykule dowiedzieliśmy się, jak utworzyć bezpieczne połączenie między aplikacją Node.js a bazą danych MongoDB. Teraz możesz łatwo zrobić to samo, gdy musisz zbudować aplikację przy użyciu MongoDB; bardzo popularna w ekosystemie nierelacyjna baza danych.
Nie zapominaj, że Dokumentacja MongoDB jest Twoim najlepszym przyjacielem do nauki o MongoDB, a aby dowiedzieć się więcej o tworzeniu aplikacji Express, skontaktuj się z Ekspresowa dokumentacja też.
Jeśli utkniesz podczas wykonywania samouczka, nie krępuj się przemyśleć Repozytorium GitHub dla projektu znaleźć swoją drogę.