Для подключения MongoDB к Node.js существует несколько способов. Рассмотрим два наиболее распространенных: использование нативного драйвера MongoDB и использование библиотеки Mongoose.
1. Подключение с использованием нативного драйвера MongoDB:
Вам потребуется установить пакет mongodb с помощью npm:
npm install mongodb
После этого вы можете создать подключение к базе данных MongoDB следующим образом:
const MongoClient = require('mongodb').MongoClient; const uri = 'mongodb://localhost:27017/mydb'; // Замените mydb на вашу базу данных MongoClient.connect(uri, { useNewUrlParser: true, useUnifiedTopology: true }, (err, client) => { if (err) throw err; const db = client.db(); // Теперь вы можете выполнять операции с базой данных });
В приведенном выше коде, мы создаем клиент MongoClient и передаем URL-адрес базы данных MongoDB. Здесь мы используем 'mongodb://localhost:27017/mydb', где 'mydb' - это название вашей базы данных. Вы также можете указать другие параметры, такие как { useNewUrlParser: true } и { useUnifiedTopology: true }, чтобы избежать обновлений и предупреждений при подключении.
После успешного подключения вы можете выполнять операции с базой данных, используя методы, предоставляемые драйвером MongoDB. Например, вы можете вставить документ в коллекцию:
const collection = db.collection('users'); const user = { name: 'John', age: 30 }; collection.insertOne(user, (err, result) => { if (err) throw err; console.log('User inserted:', result.ops); client.close(); });
2. Подключение с использованием библиотеки Mongoose:
Mongoose - это библиотека, которая облегчает работу с MongoDB в Node.js и предоставляет удобные методы для создания, изменения и удаления данных. Чтобы подключить Mongoose, сначала установите его с помощью npm:
npm install mongoose
Затем вы можете создать подключение к базе данных MongoDB следующим образом:
const mongoose = require('mongoose'); const uri = 'mongodb://localhost:27017/mydb'; // Замените mydb на вашу базу данных mongoose.connect(uri, { useNewUrlParser: true, useUnifiedTopology: true }) .then(() => { console.log('Connected to MongoDB'); // Теперь вы можете выполнять операции с базой данных }) .catch((error) => { console.error('Error connecting to MongoDB:', error); });
В приведенном выше коде мы используем метод connect() библиотеки Mongoose, передавая URL-адрес базы данных MongoDB и другие необязательные параметры, такие как { useNewUrlParser: true } и { useUnifiedTopology: true }.
После успешного подключения, вы можете определить схему и модель для коллекции и выполнять операции с использованием модели. Например, вы можете создать модель пользователя и сохранить нового пользователя в базе данных:
const userSchema = new mongoose.Schema({ name: String, age: Number }); const User = mongoose.model('User', userSchema); const user = new User({ name: 'John', age: 30 }); user.save() .then((result) => { console.log('User saved:', result); mongoose.connection.close(); }) .catch((error) => { console.error('Error saving user:', error); });
В данном примере мы определяем схему пользователей и создаем модель User на основе этой схемы. Затем мы создаем нового пользователя и сохраняем его в базе данных с помощью метода save().