Estaba tratando de ejecutar mongoDB en el servidor de nodos Código completo aquí desde MongoDB :
Mi mongo versión: 4.4.3
Versión del nodo: v15.7.0
He importado el código de inicio de MongoDB, y este es el código:
const { MongoClient } = require("mongodb"); // Connection URI const uri = "mongodb+srv://sample-hostname:27017/?poolSize=20&writeConcern=majority"; // Create a new MongoClient const client = new MongoClient(uri); async function run() { try { // Connect the client to the server await client.connect(); // Establish and verify connection await client.db("admin").command({ ping: 1 }); console.log("Connected successfully to server"); } finally { // Ensures that the client will close when you finish/error await client.close(); } } run().catch(console.dir);
En la terminal, cuando ejecuto "node app.js", me arroja el siguiente error:
> (node:79653) Warning: Accessing non-existent property 'MongoError' of > module exports inside circular dependency (Use `node --trace-warnings > ...` to show where the warning was created) MongoParseError: URI does > not have hostname, domain name and tld > at parseSrvConnectionString (/home/harmony/Desktop/FruitsProject/node_modules/mongodb/lib/core/uri_parser.js:50:21) > at parseConnectionString (/home/harmony/Desktop/FruitsProject/node_modules/mongodb/lib/core/uri_parser.js:594:12) > at connect (/home/harmony/Desktop/FruitsProject/node_modules/mongodb/lib/operations/connect.js:284:3) > at /home/harmony/Desktop/FruitsProject/node_modules/mongodb/lib/mongo_client.js:225:5 > at maybePromise (/home/harmony/Desktop/FruitsProject/node_modules/mongodb/lib/utils.js:681:3) > at MongoClient.connect (/home/harmony/Desktop/FruitsProject/node_modules/mongodb/lib/mongo_client.js:221:10) > at run (/home/harmony/Desktop/FruitsProject/app.js:12:18) > at Object.<anonymous> (/home/harmony/Desktop/FruitsProject/app.js:21:1)
El error Accessing non-existent property 'MongoError' of > module exports inside circular dependency
es causado por un error en mongodb 3.6.4
ya esta reportado aqui
Volver a la versión 3.6.3 funciona para mí:
npm uninstall mongodb --save
Instalar la versión 3.6.3
npm i mongodb@3.6.3
Para todos los que busquen esta advertencia, no se preocupen, es solo un error de versión y ya se informó. Simplemente desinstale la versión 3.6.4 e instale la versión 3.6.3 como se respondió en @kmgt answer.
Rebajé MongoDB según lo recomendado, pero eso por sí solo no resolvió el problema.
Tuve que degradar mangosta también para eliminar el error.
Bajé a:
MongoDB versión 3.6.3 Mangosta versión 5.11.15
No tiene que degradar su MongoDB, solo degradar su paquete mongoose a 5.11.15 como en esta mención: https://github.com/Automattic/mongoose/issues/9900#issuecomment-778535254 Estoy usando Mongo v4. 4.3 y solo downgrade mongoose funcionó para mí.
También tengo un error similar, estoy ejecutando en MacOS Catelina:
(node:3265) Warning: Accessing non-existent property 'MongoError' of module exports inside circular dependency (Use `node --trace-warnings ...` to show where the warning was created) Server started on port 3000
Ejecutándose anteriormente en:
nodo: v14.15.4, mongodb: v4.4.3, mangosta: v5.11.18
Después de degradar mongoose a v5.11.15, el error desapareció.
Desinstalar mongoose de la terminal
npm uninstall mongoose
Instale mangosta versión 5.11.15
npm i mongoose@5.11.15