Kolekci můžete vytvořit pomocí createCollection()
nebo za běhu při vkládání dokumentu.
Sbírky jsou jako kontejnery pro související dokumenty. Obvykle se používají k seskupování dokumentů s podobným tématem. Můžete mít například názvy sbírek jako
uživatelé
, pageviews
, posts
, comments
, atd.
Když jsme vytvořili naši databázi, vytvořili jsme kolekci s názvem artists . Tato sbírka bude obsahovat dokumenty s podrobnostmi o interpretech, jako jsou jména umělců, alba, která vydali atd.
Dva způsoby, jak vytvořit sbírku
Zde jsou dva způsoby vytváření kolekcí:
- Sbírku můžete vytvořit za běhu při vkládání dokumentu (pomocí
insert()
metoda. - Sbírku můžete vytvořit také explicitně pomocí
createCollection()
metoda.
Za letu
Když použijete insert()
způsob vložení dokumentu, určíte kolekci, do které bude dokument vložen. Pokud kolekce ještě neexistuje, bude vytvořena.
Toto je metoda, kterou jsme použili dříve, když jsme vytvářeli naše artists
kolekce při vkládání dokumentu.
Zde je kód, který jsme použili:
db.artists.insert({ artistname: "The Tea Party" })
V tomto případě artists
kolekce dříve neexistovala, takže byla vytvořena pro nás.
Pomocí createCollection()
Metoda
Můžete také vytvářet kolekce pomocí createCollection()
metoda. To vám umožní vytvořit kolekci bez vložení dokumentu.
Zde je příklad použití createCollection()
metoda:
db.createCollection("producers")
S možnostmi
Můžete také zadat volby pro kolekci pomocí db.createCollection(name, options)
syntaxe.
Zde je příklad:
db.createCollection("log", { capped : true, size : 4500500, max : 4000 } )
Pole dostupná od verze MongoDB 3.2 jsou následující.
Pole | Typ | Popis | ||||||
---|---|---|---|---|---|---|---|---|
capped | logická hodnota | Při nastavení na true , vytvoří omezenou kolekci. Omezená kolekce je kolekce s pevnou velikostí, která automaticky přepíše své nejstarší položky, když dosáhne své maximální velikosti. Pokud zadáte true , musíte také nastavit maximální velikost v size pole. | ||||||
autoIndexId | logická hodnota | Uveďte false zakázat automatické vytváření indexu na _id pole. Od verze MongoDB 3.2 je toto pole zastaralé a ve verzi 3.4 bude odstraněno. | ||||||
size | číslo | Maximální velikost v bajtech pro omezenou kolekci. Používá se pouze s omezenými kolekcemi (v ostatních kolekcích je ignorován). | ||||||
max | číslo | Maximální povolený počet dokumentů v omezené kolekci. Všimněte si, že size pole má přednost před max pole. Pokud kolekce dosáhne svého limitu velikosti před dosažením limitu dokumentů, MongoDB dokumenty stejně odstraní. | ||||||
usePowerOf2Sizes | logická hodnota | K dispozici pouze v úložném jádru MMAPv1. Toto pole je od verze 3.0 zastaralé. | ||||||
noPadding | logická hodnota | K dispozici pouze v úložném jádru MMAPv1. Deaktivuje sílu alokace 2 velikostí pro kolekci. Výchozí hodnota je false . | ||||||
storageEngine | dokument | K dispozici pouze v modulu úložiště WiredTiger. Umožňuje konfiguraci modulu úložiště na základě jednotlivých kolekcí při vytváření kolekce. Syntaxe je následující:{ <storage-engine-name>: <options> } | ||||||
validator | dokument | Umožňuje zadat ověřovací pravidla nebo výrazy pro kolekci. Pamatujte, že ověření se použije pouze při vkládání a aktualizaci dat. Data, která již v databázi existují, proto nejsou ověřena (dokud nebudou aktualizována). | ||||||
validationLevel | řetězec | Umožňuje určit, jak přísně jsou všechna ověřovací pravidla aplikována na existující dokumenty během aktualizace. Možné hodnoty:
| ||||||
validationAction | řetězec | Udává, zda se má při vložení neplatných dokumentů objevit chyba nebo pouze varování. Pokud dojde k chybě, neplatné dokumenty budou stále vloženy, ale s varováním.
| ||||||
indexOptionDefaults | dokument | Umožňuje zadat výchozí konfiguraci pro indexy při vytváření kolekce. Přijímá storageEngine dokument s následující syntaxí:{ |