Dino Geek essaye de t'aider

Comment mener des opérations CRUD avec Mongoose et Node.js?


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.


Générez simplement des articles pour optimiser votre SEO
Générez simplement des articles pour optimiser votre SEO





DinoGeek propose des articles simples sur des technologies complexes

Vous souhaitez être cité dans cet article ? Rien de plus simple, contactez-nous à dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nom de Domaine | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Mentions Légales / Conditions Générales d'Utilisation