З версії 4.0.0 драйвера MongoDB більше не потрібно використовувати useNewUrlParser і useUnifiedTopology.

текст перекладу
Не потрібно використовувати useNewUrlParser і useUnifiedTopology з версії MongoDB Driver 4.0.0 і вище, оскільки ці функції використовуються за замовчуванням у нових версіях драйвера MongoDB.

Автор працює над проєктом на Node.js + Express і з'єднується з MongoDB через Mongoose, і зіткнувся з проблемою, тому вирішив поділитись вирішенням.

Проблема

mongoose.connect(dbUrl,{  
 useNewUrlParser:true,  
 useUnifiedTopology:true  
}).catch(err=>console.log(err))

pic

Повний код у файлі product.js

// Використовуємо mongoose  
const mongoose = require('mongoose')  
// Підключення до MongoDB  
const dbUrl = 'mongodb://localhost:27017/productDB'  
mongoose.connect(dbUrl,{  
 useNewUrlParser:true,  
 useUnifiedTopology:true  
}).catch(err=>console.log(err))  
// Створення Schema  
let productSchema = mongoose.Schema({  
 name:String,  
 price:Number,  
 image:String,  
 description:String  
})  
// Створення Model  
let Product = mongoose.model("products",productSchema)  

// Експортуємо Model  
module.exports = Product;  

// Функція для збереження даних  
module.exports.seveProduct=function(model,data){  
 model.save(data)  
}

Виправлення проблеми

mongoose.connect(dbUrl)  
 .then(() => {  
 console.log('Database connected successfully');  
 })  
 .catch(err => {  
 console.log('Database connection error: ', err);  
 });

Повний код у файлі product.js

// Використовуємо mongoose  
const mongoose = require('mongoose')  
// Підключення до MongoDB  
const dbUrl = 'mongodb://localhost:27017/productDB'  
mongoose.connect(dbUrl)  
 .then(() => {  
 console.log('Database connected successfully');  
 })  
 .catch(err => {  
 console.log('Database connection error: ', err);  
 });  
// Створення Schema  
let productSchema = mongoose.Schema({  
 name:String,  
 price:Number,  
 image:String,  
 description:String  
})  
// Створення Model  
let Product = mongoose.model("products",productSchema)  

// Експортуємо Model  
module.exports = Product;  

// Функція для збереження даних  
module.exports.seveProduct=function(model,data){  
 model.save(data)  
}

Це лише один зі способів вирішення проблеми. Якщо є помилки, будь ласка, поділіться ними. Дякую!

Перекладено з: ไม่จำเป็นต้องใช้ useNewUrlParser และ useUnifiedTopology ตั้งแต่ MongoDB Driver รุ่น 4.0.0 ขึ้นไป

Leave a Reply

Your email address will not be published. Required fields are marked *