shakiriker
@shakiriker

TypeError: mongoose.connect is not a function?

когда я использую требуют commonjs все работает
const { Schema, connect } = require("mongoose");

connect("mongodb://localhost:27017/usersdb", {
  useNewUrlParser: true
});


но когда я использую импорт ES6, я получаю ошибку

import { connect } from "mongoose";

connect(
  "mongodb://localhost:27017/usersdb",
  {
    useNewUrlParser: true
  }
);


SyntaxError: Запрашиваемый модуль> 'file: node_modules / mongoose / index> .js' не обеспечивает экспорт с именем 'connect'

и если ты пишешь так

import * as mongoose from "mongoose";

mongoose.connect("mongodb://localhost:27017/usersdb", {
  useNewUrlParser: true
});

Ошибка типа: mongoose.connect не является функцией

package.json

{
  "name": "dur",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "nodemon -r esm src/index.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "esm": "^3.2.25",
    "express": "^4.17.1",
    "i": "^0.3.6",
    "mongoose": "^5.7.8",
    "nodemon": "^1.19.4"
  }
}


Я хочу использовать модуль es6. Есть ли способ использовать модули es6 с mongoose без получения ошибки?
  • Вопрос задан
  • 1675 просмотров
Пригласить эксперта
Ответы на вопрос 1
SecurityYourFingers
@SecurityYourFingers
I make other things, but i know that without your
Я столкнулся с такой же проблемой.
Если ты используешь mongoose в браузерной среде, как я. Я юзаю react и в одном из компонентов пытался сделать mongoose.connect()
В этом случае у объекта mongoose не будет метода connect.
Необходимо вынести код для подключения в отдельный файл, который будет выполняться в среде nodejs
Тогда у mongoose появится метод connect и всё будет работать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы