Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro: Mongoose is not defined

Ao incluir a classe livro e realizar a chamada do banco está dando erro de "app crashed - waiting for file changes before starting"

Não consegui identificar o erro ainda.

Quando comento o "import livros from "./models/Livro.js";" na App.js o erro deixa de existir, mas não consegui idetificar o erro em Livro.js.

Livro.js

import mogoose from "mongoose";

const livroSchema = new mongoose.Schema( { id: {type: String}, titulo: {type: String, required: true}, autor: {type: String, required: true}, editora: {type: String, required: true}, numeroPaginas: {type: Number} } );

const livros= mongoose.model('livros', livrosSchema);

export default livros;

App.js

import express from "express";

import db from "./config/dbConect.js";

import livros from "./models/Livro.js";

db.on("error", console.log.bind(console,"erro de conexão")); db.once("open", () => { console.log('conexão com o banco feita com sucesso') });

const app = express();

app.use(express.json())

***

#

#

Erro do projeto*

[nodemon] starting node server.js file:///C:/Desenvolvimento/JavaScript/RestApiLivro/src/models/Livro.js:3 const livroSchema = new mongoose.Schema( ^

ReferenceError: mongoose is not defined at file:///C:/Desenvolvimento/JavaScript/RestApiLivro/src/models/Livro.js:3:21 at ModuleJob.run (node:internal/modules/esm/module_job:193:25) at async Promise.all (index 0) at async ESMLoader.import (node:internal/modules/esm/loader:530:24) at async loadESM (node:internal/process/esm_loader:91:5) at async handleMainPromise (node:internal/modules/run_main:65:12)

Node.js v18.11.0 [nodemon] app crashed - waiting for file changes before starting...

1 resposta
solução!

Pessoal achei o erro.

Na classe livro.js import a palavra mongoose estava sem o "n" estava "mogoose".

import copiadoda descrição do curso

Errado : import mogoose from "mongoose";

Certo: import mongoose from "mongoose";