Recibí un error cuando ejecuté el código. ¿Hay algún error en mi código? Este es el código que ingresé.
const express = require("express"); const mongoose= require("mongoose"); const bodyParser = require("body-parser"); const cors = require("cors"); const dotenv=require("dotenv"); const app = express(); require("dotenv").config(); const PORT =process.env.PORT || 8070; app.use(cors()); app.use(bodyParser.json()); const URL = process.env.MONGODB_URL; mongoose.connect(URL, { useCreateIndex: true, useNewUrlParser:true, useUnifieldTopologyL:true, useFindAndModify:false, }); const connection = mongoose.connection; connection.once("open", () => { console.log("Mongodb Connection success!"); }) app.listen(PORT, () => { console.log('Server is up and running on port number: ${PORT}') })Recibí este error cuando doy el comando de inicio npm
backend@1.0.0 start C:\Users\Admin\Desktop\cosmetic\backend node server.js
El servidor está funcionando en el número de puerto: ${PORT} (nodo: 4808) Advertencia de rechazo de promesa no controlada: MongoParseError: las opciones usecreateindex, useunifieldtopologyl, usefindandmodify no se admiten en Object.parseOptions (C:\Users\Admin\Desktop\cosmetic\backend\node_modules \mongodb\lib\connection_string.js:281:15) en el nuevo MongoClient (C:\Users\Admin\Desktop\cosmetic\backend\node_modules\mongodb\lib\mongo_client.js:62:46) en C:\Users\ Admin\Desktop\cosmetic\backend\node_modules\mongoose\lib\connection.js:781:16 en new Promise () en NativeConnection.Connection.openUri (C:\Users\Admin\Desktop\cosmetic\backend\node_modules\mongoose\ lib\connection.js:778:19) en C:\Users\Admin\Desktop\cosmetic\backend\node_modules\mongoose\lib\index.js:330:10 en C:\Users\Admin\Desktop\cosmetic\backend \node_modules\mongoose\lib\helpers\promiseOrCallback.js:32:5 en new Promise () en promiseOrCallback (C:\Users\Admin\Desktop\cosmetic\backend\node_modules\mongoose\lib\helpers\promiseOrCallback.js:31 :10) en Mangosta._pr omiseOrCallback (C:\Users\Admin\Desktop\cosmetic\backend\node_modules\mongoose\lib\index.js:1151:10) (Use
node --trace-warnings ...para mostrar dónde se creó la advertencia) (node :4808) UnhandledPromiseRejectionWarning: Rechazo de promesa no manejado. Este error se originó al lanzar dentro de una función asíncrona sin un bloque catch o al rechazar una promesa que no se manejó con .catch(). Para finalizar el proceso de nodo en caso de rechazo de promesa no controlado, use el indicador de CLI--unhandled-rejections=strict(consulte https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (id de rechazo: 2)
(nodo: 4808) [DEP0018] Advertencia de desaprobación: los rechazos de promesa no controlados están obsoletos. En el futuro, los rechazos de promesas que no se controlen terminarán el proceso de Node.js con un código de salida distinto de cero.
El error es bastante sencillo, de Mongoose 6.0 docs :
useNewUrlParser, useUnifiedTopology, useFindAndModify y useCreateIndex ya no son opciones compatibles. Mongoose 6 siempre se comporta como si useNewUrlParser, useUnifiedTopology y useCreateIndex fueran verdaderos y useFindAndModify fuera falso. Elimine estas opciones de su código.
Estas opciones ya no son compatibles y debe eliminarlas de las options que está pasando a la función de conexión de mongoose.