Dino Geek, probeer je te helpen

Hoe maak ik een schema in MongoDB?


In MongoDB creëert u geen traditioneel database schema zoals u zou doen in SQL. MongoDB is een NoSQL database die op een flexibele, schaalbare en ongestructureerde manier data opslaat in ‘collections’ in plaats van tabellen. Een MongoDB-collectie houdt geen schema’s vast, wat betekent dat u documenten (rijen in SQL) met verschillende velden en structuren in dezelfde collectie kunt opslaan.

Echter, met MongoDB versie 3.2 en later, kunt u optioneel schema-validatieregels voor een collectie opgeven door gebruik te maken van de JSON-schema specificatie. Met deze validatieregels kunt u specificeren welke documenten een geldige structuur kunnen hebben voor een bepaalde collectie.

Een typische opdracht om schema-validatie in te stellen zou er als volgt uitzien:

```
db.createCollection(“students”, { validator: { $jsonSchema: { bsonType: “object”, required: [ “name”, “year”, “major”, “address” ], properties: { name: { bsonType: “string”, description: “must be a string and is required“ }, year: { bsonType: “int”, minimum: 0, maximum: 3000, exclusiveMaximum: false, description: “must be an integer in [ 0, 3000 ] and is required“ }, major: { enum: [ “Math”, “English”, “Computer Science”, “History”, null ], description: “can only be one of the enum values and is required“ }, address: { bsonType: “string”, description: “must be a string and is required“ } } } }
})
```

In dit voorbeeld definiëren we een collectie “students” schema waarin “name”, “year”, “major” en “address” velden verplicht zijn, waar “name” en “address” velden van het string type zijn en het “year” veld een integer tussen 0 en 3000 moet zijn. Het “major” veld kan alleen de waarden “Math”, “English”, “Computer Science”, “History” of null nemen.

Let op: schema-validatie vindt alleen plaats op het moment van invoegen of bijwerken van documenten. Het heeft geen invloed op bestaande documenten in een collectie.


Genereer eenvoudig artikelen om uw SEO te optimaliseren
Genereer eenvoudig artikelen om uw SEO te optimaliseren





DinoGeek biedt eenvoudige artikelen over complexe technologieën

Wilt u in dit artikel worden geciteerd? Het is heel eenvoudig, neem contact met ons op via dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Domeinnaam | 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 |






Juridische Vermelding / Algemene Gebruiksvoorwaarden