MongoParseError: Неверная строка подключения
Я пытаюсь соединить базу данных MongoDB с этим кодом, но при ее запуске я получаю сообщение об ошибке (см. Ошибку ниже после кода). Первоначальная ошибка была в строке, где она была решена путем добавления useNewUrlParser: true
но даже после этого я все еще получаю больше ошибок. Я использую MongoDB версии 4.0.1. Кто-нибудь знает, как решить эту ошибку?
mongoose.connect('User://localhost:27017/User',{ useNewUrlParser: true })
Ошибка при запуске этого кода:
(узел:11068) UnhandledPromiseRejectionWarning: необработанное отклонение обещания (идентификатор отклонения: 3): MongoParseError: неверная строка соединения (узел:11068) [DEP0018] DeprecationWarning: отклонение необработанного обещания не рекомендуется. В будущем отклонения обещаний, которые не обрабатываются, завершат процесс Node.js с ненулевым кодом завершения.
8 ответов
Вместо пользователя используйте "mongodb://localhost/". У меня была такая же проблема.
Я получал ту же ошибку, затем использовал:
mongoose.connect("mongodb://localhost:27017/[yourDbName]", {
useUnifiedTopology: true,
useNewUrlParser: true
});
Замена [yourDbName]
для имени вашей базы данных MongoDB:
Хост, который вы написали, неверен, и он должен быть
mongoose.connect('mongodb://localhost:27017/User',{ useNewUrlParser: true })
Попробуйте это, и это должно сработать,
mongoose.connect('mongodb://localhost/mycargarage', {useNewUrlParser: true, useUnifiedTopology: true})
.then(() => console.log('MongoDB Connected...'))
.catch((err) => console.log(err))
Попробуйте это mongoose.set('strictQuery', true);
db.js
const express = require('express');
const mongoose =require('mongoose')
const app = express();
mongoose.set('strictQuery', true);
mongoose.connect('mongodb://localhost:27017/database_name', {
useNewUrlParser: true,
useUnifiedTopology: true
})
.then(() => console.log('MongoDB Connected...'))
.catch((err) => console.log(err))
app.listen(3000,()=>{ console.log("Running on port 3000") })
npm i express mongoose
node db.js
У меня была такая же проблема. В моем случае проблема была вызвана моим паролем. По-видимому, если в пароле есть специальные символы, вам нужно использовать значение HEX.
Я просто добавил // после точек, чтобы указать локальные хосты, это для mongodb 5
В моем файле .env я сделал такую ошибку, как
Ошибка: MONGO_URI =
mongod:
// локальный: 27017 / ecom
Решение: MONGO_URI =
mongodb:
// локальный: 27017 / ecom