Ошибка в журналах Heroku: ошибка Mongoose. Параметр uri для openURI () должен быть строкой и строкой. - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь развернуть свою работу на heroku, и после устранения некоторых ошибок одна ошибка не исправляется, и я перепробовал так много методов, но все они не работают

добавлено: useNewUrlParser: true,useCreateIndex: true, app.use(express.urlencoded({extended: false}))

const express = require('express');
const passport = require('passport')
const cors = require('cors');
const app = express();
const hostname='localhost';
var port=  process.env.PORT || 8080;
const bodyParser = require('body-parser');
const mongoose = require('mongoose');
const route=require('./routes/api/Routes');



 // DB Config
const db = require('./config/keys').mongoURI

 // Connect to mongo
 mongoose
    .connect(db,{ useNewUrlParser: true,useCreateIndex: true, })
    .then(() => console.log('Connected to MongoDB'))
    .catch(err => console.log(err))


  app.use(bodyParser.json()); 
  app.use(bodyParser.urlencoded({ extended: true })); 
  app.use(express.json())
  app.use(express.urlencoded({extended: false}))
  app.use(cors())

  app.get('/test', (req,res) => res.send(`<h1>Deployed on Heroku</h1>`))

и ошибка в git bash

State changed from starting to crashed
/app/node_modules/mongoose/lib/connection.js:434
 throw new MongooseError('The `uri` parameter to `openUri()` must be a ' 
 +
 MongooseError: The `uri` parameter to `openUri()` must be a string, got 
 "undefined". Make sure the first parameter to `mongoose.connect()` or 
 `mongoose.createConnection()` is a string.

при https://teamse7.herokuapp.com/test показывает ошибку приложения

1 Ответ

0 голосов
/ 05 апреля 2019

Я изменил соединение на
mongoose.connect('mongodb+srv://*********@********.mongodb.net/test? retryWrites=true', {useNewUrlParser: true}); mongoose.connection.once('open', function(){ console.log('Conection has been made!'); }).on('error', function(error){ console.log('Error is: ', error); });

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...