CRUD signifie Créer, Lire, Mettre à jour, Supprimer. Ce sont les quatre opérations de base de la persistance des données en informatique. Voici comment vous pouvez effectuer ces opérations avec Mongoose et Node.js.
D’abord, supposons que nous ayons une collection de `User`, dont le modèle est le suivant :
```
const mongoose = require(‘mongoose’);
const UserSchema = new mongoose.Schema({
name: String,
email: String,
password: String
});
const User = mongoose.model(‘User’, UserSchema);
```
Créer (Create) :
```
const user = new User({
name: ‘John’,
email: ‘john@example.com’,
password: ‘123456‘
});
user.save((err, result) => {
if (err) console.log(err);
console.log(result);
});
```
Lire (Read) :
```
User.find({}, (err, users) => {
if (err) console.log(err);
console.log(users);
});
// ou pour trouver un seul utilisateur :
User.findOne({ email: ‘john@example.com’ }, (err, user) => {
if (err) console.log(err);
console.log(user);
});
```
Mettre à jour (Update) :
```
User.updateOne({ email: ‘john@example.com’ }, { password: ‘newpassword’ }, (err, result) => {
if (err) console.log(err);
console.log(result);
});
```
Supprimer (Delete) :
```
User.deleteOne({ email: ‘john@example.com’ }, (err) => {
if (err) console.log(err);
console.log(‘User deleted’);
});
```
Remarque : L’opération de mise à jour doit être effectuée avec une certaine prudence, car elle écrase l’ensemble du document par défaut. Pour éviter cela, vous pouvez utiliser l’option `new: true`, qui renvoie le document après la mise à jour. Pour une mise à jour partielle du document, vous pouvez utiliser `updateOne`.
Ces exemples utilisent l’approche de callbacks pour gérer les opérations asynchrones. Vous pouvez également utiliser les promesses ou la syntaxe async/await pour un code plus lisible et facile à comprendre.