Este projeto é uma aplicação Node.js que utiliza Express para criar um servidor web e Mongoose para interagir com um banco de dados MongoDB. O projeto inclui operações básicas de CRUD (Create, Read, Update, Delete) para artigos.
NodeSchedule/
├── .gitignore
├── index.js
├── model/
│ └── article.js
├── package-lock.json
└── package.json
Ignora arquivos e diretórios que não devem ser versionados, como node_modules
, arquivos de log e variáveis de ambiente.
node_modules
dist
coverage
*.log
.env
.vscode
*.
O ponto de entrada da aplicação. Configura o servidor Express, conecta ao MongoDB e define operações básicas de CRUD.
const express = require('express');
const app = express();
const mongoose = require('mongoose');
const dotenv = require('dotenv');
dotenv.config();
const ArticleModel = require('./model/article');
// Conecta ao MongoDB
mongoose.connect(process.env.DATABASE_URL, { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => console.log('Connected!'))
.catch(err => console.log(err));
const Article = mongoose.model('Article', ArticleModel);
// Exemplo de operações CRUD
const article = new Article({
title: 'Desenvolvimento com o C#',
autor: 'benevanio',
body: 'Aprenda a desenvolver com o C#',
special: true
});
// Delete um artigo
Article.findByIdAndDelete("67db55a33c6366ebc4a679e5")
.then(() => console.log('Article deleted'))
.catch(err => console.log(err));
// Atualiza um artigo
Article.updateOne({ title: 'Desenvolvimento com o C#' }, { title: 'Desenvolvimento com o C# 2' })
.then(() => console.log('Article updated'))
.catch(err => console.log(err));
// Busca todos os artigos
Article.find()
.then(articles => console.log(articles))
.catch(err => console.log(err));
// Salva um novo artigo
article.save()
.then(() => console.log('Article saved'))
.catch(err => console.log(err));
// Inicia o servidor
app.listen(3000, () => {
console.log('Server is running');
});
Define o schema do Mongoose para a coleção de artigos.
const mongoose = require('mongoose');
const articleSchema = new mongoose.Schema({
title: {
type: String,
required: true
},
autor: {
type: String,
required: true
},
body: {
type: String,
required: true
},
date: {
type: Date,
default: Date.now
},
special: {
type: Boolean,
required: true
}
});
module.exports = articleSchema;
Define as dependências e scripts do projeto.
{
"name": "mongodb",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "nodemon index.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": "",
"dependencies": {
"dotenv": "^16.4.7",
"express": "^4.21.2",
"mongoose": "^8.12.1"
},
"devDependencies": {
"nodemon": "^3.1.9"
}
}
-
Instale as Dependências:
npm install
-
Configure o Ambiente: Crie um arquivo
.env
na raiz do projeto e adicione a URL do seu banco de dados MongoDB:DATABASE_URL=mongodb+srv://<usuario>:<senha>@cluster0.mongodb.net/<dbname>?retryWrites=true&w=majority
-
Execute o Projeto:
npm run dev
- Create: Cria um novo artigo.
- Read: Busca todos os artigos.
- Update: Atualiza um artigo existente.
- Delete: Remove um artigo.
Sinta-se à vontade para contribuir com o projeto. Abra uma issue ou envie um pull request no repositório do GitHub.