Esempio # 01:
Assicurati che il tuo database MongoDB sia già impostato sulla macchina. In caso contrario, prova a installarlo insieme alla creazione di una collezione in esso. La raccolta deve avere record. Abbiamo impostato il nostro database MongoDB creando una raccolta denominata "Dummy" e abbiamo aggiunto alcuni documenti ad esso. È tempo di utilizzare l'operatore di gamma su una collezione fittizia. Prima di allora, mostreremo i documenti che abbiamo nella nostra collezione fittizia. L'istruzione mostrata di seguito viene eseguita nella shell Mongodb a questo scopo. Il comando sta usando il metodo "Find ()" per cercare tutti i documenti in una raccolta chiamata "Dummy" con le parentesi graffe vuote "". Vengono utilizzati criteri di ricerca specifici, quindi verranno visualizzati tutti i record nella collezione "fittizio".
L'output del comando è un array di documenti, ogni record contenente diversi campi. I campi includono un oggetto unico "_id" di ciascun record, il campo della città rappresenta il nome di una città, il campo del conteggio rappresenta un numero numerico, il campo DESC rappresenta una stringa che descrive la città e il campo casuale rappresenta un valore numerico casuale.
Test> db.Manichino.Trovare()È tempo di applicare il campo "Range" su tutti i record di una raccolta MongoDB "Dummy" per ottenere la gamma di numeri. Il comando per l'applicazione dell'operatore di gamma è stato allegato sotto. Sta usando il metodo "aggregate ()" per eseguire un'operazione aggregata su una raccolta chiamata "Dummy". L'operatore "$ Project" viene utilizzato per rimodellare i documenti in una raccolta includendo o esclusi i campi e può anche creare nuovi campi. In questo caso, l'operatore "$ Project" viene utilizzato per creare un nuovo campo chiamato "Rest" che è un array contenente un intervallo di numeri da 0 al valore del campo "casuale" in ciascun documento, aumentando di 10. L'output del comando mostra un array di record, il campo di riposo rappresenta un nuovo array contenente un intervallo di numeri in base al valore del campo "casuale" e sul campo "città" con il nome di una città specifica. Il punto di riposo può essere indovinato dall'intervallo fornito nel campo dell'array "Rest".
Test> db.Manichino.Aggregate ([$ Project: City: 1, "Rest": $ Range: [0, "$ Random", 10]])Esempio # 02:
Diamo un'occhiata a un altro esempio per utilizzare il campo di gamma sulla collezione MongoDB. Finora la raccolta "test" è stata utilizzata in questo esempio. L'istruzione "Trova" allegata di seguito ha visualizzato il contenuto di questa raccolta. L'output del comando contiene l'identificatore univoco assegnato a ciascun documento da MongoDB, il campo "S" rappresenta il numero del punto di partenza e il campo "E" rappresenta il numero del punto finale.
Test> db.Test.Trovare()L'output mostra che l'array viene creato utilizzando l'operatore $ gamma, che richiede due argomenti: il valore iniziale e il valore finale. Il valore iniziale è il campo "S" e il valore finale è il campo "E" nel documento. L'output finale di questo comando è un elenco di documenti, ciascuno con un campo _id, un campo "s", un campo "e" e un campo "r" che contiene una serie di numeri interi. I numeri interi nel campo "R" sono l'intervallo di numeri tra i campi "S" e "E" per ciascun documento: ciascuno con un incremento di 1. Questo perché non abbiamo assegnato un valore di incremento per l'operatore dell'intervallo. Quindi, l'operatore "intervallo" ha preso "1" come valore di incremento da solo.
Test> db.Test.Aggregate ([$ Project: s: 1, e: 1, "r": $ intervallo: ["$ s", "$ e"]])Esempio # 03:
In tutte le illustrazioni sopra, abbiamo applicato solo l'operatore di intervallo sui campi delle raccolte con valori di tipo intero. Riceveremo un errore quando applichiamo l'operatore di intervallo sul valore del tipo di stringa. E se lo applichiamo ai valori del campo di tipo decimale? Controlliamo che applicandolo a una nuova collezione denominata "Float" nel nostro database MongoDB. La funzione Find () applicata alla collezione "Float" mostra i 5 set di documenti in essa. Ogni documento contiene il suo identificatore univoco, il tipo di tipo di stringa "Titolo" e il "campo di tipo galleggiante" età "contenente valori di punti decimale.
Test> db.Galleggiante.Trovare()Ora, abbiamo applicato l'operatore "intervallo" sulla raccolta float utilizzando la funzione aggregata per ottenere l'intervallo di numeri con un incremento di 11 per il campo "età". Questo codice, tuttavia, genera un errore perché l'operatore di $ intervallo richiede che il valore finale sia un numero intero a 32 bit, ma il valore del campo "età" è un numero di punto mobile e non può essere convertito in 32- un po 'intero. Ciò dimostra che non possiamo applicare l'operatore di gamma su qualsiasi altro tipo di dati tranne il tipo di dati interi nel database MongoDB.
Test> db.Galleggiante.Aggregate ([$ Project: Titolo: 1, "Rest": $ Range: [0, "$ Age", 11]])Mongoservererror: Errore di PlanExecutor durante l'aggregazione :: CAUSA DA :: $ L'intervallo richiede un valore finale che può essere rappresentato come un numero intero a 32 bit, valore trovato: 45.6.
Conclusione
Abbiamo informato il concetto di operatore di gamma utilizzato nella funzione aggregata mongodb. Dopo aver definito l'uso dell'operatore di gamma, ne abbiamo spiegato l'uso con l'aiuto di tre esempi distinti di comandi mongodb nella shell. La prima illustrazione dimostra l'uso dell'operatore di intervallo sul campo di tipo intero per ottenere la sequenza di numeri con il numero di incremento specifico. Le seconde illustrazioni dimostrano come un operatore di intervallo può essere applicato al campo Start and End senza utilizzare il numero di incremento. Mentre l'ultimo esempio mostra che l'operatore della gamma non funziona su tipi di dati diversi dai numeri interi: galleggianti e stringhe.