Puoi creare una collezione usando createCollection()
metodo o al volo mentre inserisci un documento.
Le raccolte sono come contenitori per documenti correlati. In genere vengono utilizzati per raggruppare documenti di un argomento simile. Ad esempio, potresti avere nomi di raccolte come
users
, pageviews
, posts
, comments
, ecc.
Quando abbiamo creato il nostro database, abbiamo creato una raccolta chiamata artisti . Questa raccolta conterrà documenti con i dettagli dell'artista, come i nomi degli artisti, gli album che hanno pubblicato, ecc.
Due modi per creare una raccolta
Ecco due modi per creare raccolte:
- Puoi creare una raccolta al volo quando inserisci un documento (usando il
insert()
metodo. - Puoi anche creare una raccolta in modo esplicito, usando
createCollection()
metodo.
Al volo
Quando usi insert()
metodo per inserire un documento, si specifica la raccolta in cui verrà inserito il documento. Se la raccolta non esiste già, verrà creata.
Questo è il metodo che abbiamo utilizzato in precedenza quando abbiamo creato i nostri artists
raccolta durante l'inserimento di un documento.
Ecco il codice che abbiamo utilizzato:
db.artists.insert({ artistname: "The Tea Party" })
In questo caso, gli artists
la raccolta non esisteva in precedenza, quindi è stata creata per noi.
Utilizzo di createCollection()
Metodo
Puoi anche creare raccolte usando createCollection()
metodo. Ciò consente di creare una raccolta senza inserire un documento.
Ecco un esempio di utilizzo di createCollection()
metodo:
db.createCollection("producers")
Con Opzioni
Puoi anche specificare le opzioni per la raccolta utilizzando db.createCollection(name, options)
sintassi.
Ecco un esempio:
db.createCollection("log", { capped : true, size : 4500500, max : 4000 } )
I campi disponibili a partire dalla versione 3.2 di MongoDB sono i seguenti.
Campo | Tipo | Descrizione | ||||||
---|---|---|---|---|---|---|---|---|
capped | booleano | Quando impostato su true , crea una raccolta limitata. Una raccolta limitata è una raccolta di dimensioni fisse che sovrascrive automaticamente le voci più vecchie quando raggiunge la dimensione massima. Se specifichi true , devi anche impostare una dimensione massima in size campo. | ||||||
autoIndexId | booleano | Specificare false per disabilitare la creazione automatica di un indice su _id campo. A partire dalla versione 3.2 di MongoDB, questo campo è deprecato e verrà rimosso nella versione 3.4. | ||||||
size | numero | Dimensione massima in byte per una raccolta limitata. Utilizzato solo con raccolte limitate (viene ignorato in altre raccolte). | ||||||
max | numero | Numero massimo di documenti consentito nella raccolta limitata. Nota che la size il campo ha la precedenza sul max campo. Se la raccolta raggiunge il limite di dimensioni prima che sia stato raggiunto il limite di documenti, MongoDB rimuoverà comunque i documenti. | ||||||
usePowerOf2Sizes | booleano | Disponibile solo nel motore di archiviazione MMAPv1. Questo campo è stato ritirato dalla versione 3.0. | ||||||
noPadding | booleano | Disponibile solo nel motore di archiviazione MMAPv1. Disabilita la potenza dell'allocazione di 2 taglie per la raccolta. Il valore predefinito è false . | ||||||
storageEngine | documento | Disponibile solo nel motore di archiviazione WiredTiger. Consente la configurazione del motore di archiviazione in base alla raccolta durante la creazione di una raccolta. La sintassi è la seguente:{ <storage-engine-name>: <options> } | ||||||
validator | documento | Consente di specificare regole o espressioni di convalida per la raccolta. Si noti che la convalida viene applicata solo durante l'inserimento e l'aggiornamento dei dati. Pertanto, i dati già esistenti nel database non vengono convalidati (fino a quando non vengono aggiornati). | ||||||
validationLevel | stringa | Consente di specificare in che misura le regole di convalida vengono applicate ai documenti esistenti durante un aggiornamento. Possibili valori:
| ||||||
validationAction | stringa | Specifica se deve verificarsi un errore, o solo un avviso, quando vengono inseriti documenti non validi. In caso di errore, i documenti non validi verranno comunque inseriti, ma con un avviso.
| ||||||
indexOptionDefaults | documento | Consente di specificare una configurazione predefinita per gli indici durante la creazione di una raccolta. Accetta un storageEngine documento con la seguente sintassi:{ |