sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB - Vytvořte sbírku

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:
off Pro vložení nebo aktualizace nedochází k žádnému ověření.
strict Probíhá ověření pro vložení a aktualizace. toto je výchozí hodnota.
moderate Pravidla ověření se použijí pouze na stávající platná dokumenty, ale ne na existující neplatné dokumenty.
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.
error Udává, že při zápisu neplatného dokumentu dojde k chybě a operace se nezdaří.
warning Určuje, že je stále možné zapisovat neplatné dokumenty a že bude zaznamenáno varování.
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í:{ : }

  1. Geoprostor $ blízko aktuální hodnoty pole dokumentu

  2. Další vlastnosti ověření MongoDB jsonSchema

  3. jak strukturovat složený index v mongodb

  4. Strojové fondy a cloudové profily pro MongoDB