MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB - Crea una raccolta

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:
off Non si verifica alcuna convalida per inserimenti o aggiornamenti.
strict Viene eseguita la convalida per gli inserimenti e gli aggiornamenti. questo è il valore predefinito.
moderate Le regole di convalida vengono applicate solo a validi esistenti documenti, ma non a non validi esistenti documenti.
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.
error Specifica che si verifica un errore durante la scrittura di un documento non valido e l'operazione non riesce.
warning Specifica che è ancora possibile scrivere documenti non validi e che l'avviso verrà registrato.
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:{ : }