Ошибка ссылки: требование не определено в MongoDB

#javascript #node.js #mongodb

#javascript #node.js #mongodb

Вопрос:

Я пытаюсь подключиться к своей базе данных MongoDB и получаю эту ошибку

 ReferenceError: require is not defined
    at file:///Users/admin/mjml/mjml/playground.js:1:21
    at ModuleJob.run (node:internal/modules/esm/module_job:146:23)
    at async Loader.import (node:internal/modules/esm/loader:165:24)
    at async Object.loadESM (node:internal/process/esm_loader:68:5)
  
 const MongoClient = require('mongodb').MongoClient
const uri =
  '------------------------------'
const client = new MongoClient(uri, { useNewUrlParser: true })
client.connect((err) => {
  const collection = client.db('test').collection('devices')
  // perform actions on the collection object
  client.close()
})
  

Ответ №1:

Вы пытаетесь использовать require() внутри модуля ESM (вы можете увидеть Object.loadESM ошибку в стеке вызовов), которая сообщает нам, что это модуль ESM. Вы не можете использовать require() модуль такого типа. Вместо этого вы должны использовать import .

Итак, вы, вероятно, хотите:

 import {MongoClient} from "mongodb";