Le operazioni CRUD (Create, Read, Update, Delete) sono delle operazioni fondamentali in ogni applicazione che manipola i dati. Mongoose è un ORM (Object-Relational Mapping) per MongoDB che fornisce un’interfaccia semplice e diretta per condurre queste operazioni.
Ecco un esempio di come potrebbero essere condotte le operazioni CRUD con Mongoose e Node.js:
1. Create – Creare un documento:
```
const mongoose = require(‘mongoose’);
const Schema = mongoose.Schema;
const MySchema = new Schema({
name: String,
age: Number,
});
const MyModel = mongoose.model(‘MyModel’, MySchema);
const document = new MyModel({
name: ‘Nome Esempio’,
age: 25,
});
document.save((err) => {
if (err) console.log(err);
console.log(“Documento salvato con successo”);
});
```
1. Read – Leggere un documento:
```
MyModel.find({name: ‘Nome Esempio’}, (err, documents) => {
if (err) console.log(err);
console.log(documents);
});
```
1. Update – Aggiornare un documento:
```
MyModel.updateOne({name: ‘Nome Esempio’}, {age: 30}, (err) => {
if (err) console.log(err);
console.log(“Documento aggiornato con successo”);
});
```
1. Delete – Cancellare un documento:
```
MyModel.deleteOne({name: ‘Nome Esempio’}, (err) => {
if (err) console.log(err);
console.log(“Documento cancellato con successo”);
});
```
Ricorda, prima di utilizzare Mongoose, devi stabilire una connessione al tuo database:
```
mongoose.connect(‘mongodb://localhost/my_database’, {useNewUrlParser: true, useUnifiedTopology: true});
```
E’ importante notare che nel codice di sopra, stiamo ignorando le promesse. Nella pratica, vorresti gestire queste chiamate asincrone in modo più appropriato, ad esempio utilizzando async/await o gestendo le promesse con then/catch.