Esempio 1: visualizzare i valori di campo univoci da più record
Prima di fare qualsiasi cosa nella shell MongoDB, assicurati che il tuo database abbia la sua raccolta al suo interno che contiene anche alcuni record; Le collezioni funzionano come le tabelle in MongoDB. Se non ne hai uno, generalo all'interno dello strumento di linea di comando MongoDB usando il semplice metodo "createcollection" nella sua istruzione che inizia con la parola chiave "db". L'argomento di un metodo createCollection () prende il nome di una raccolta come stringa "univoca".
Test> db.CreateCollection ("unico")Senza avere record nel database, non saremo in grado di eseguire le transazioni attraverso le query. Pertanto, dopo la creazione di una collezione "unica" vuota a MongoDB, inseriamo alcuni record in esso. Per l'inserimento di record multipli alla volta, la funzione "Insert" di MongoDB può essere gettata con il nome della collezione "univoca". Per inserire più record, tenere tutti i record tra parentesi quadrate "[]" mentre si utilizza le staffe ricci "" per separarsi l'uno dall'altro all'interno delle staffe quadrate. Per ora, inseriamo un totale di 8 record, ciascuno con tre campi: ID, nome ed età. Questi record vengono aggiunti perfettamente poiché l'output visualizzato nella foto allegata dimostra il riconoscimento. Ci sono ripetuti "stessi" valori per il campo "Nome" e il campo "Age" da qualche parte in questi 8 record.
Test> db.Unico.insert ([id: 1, nome: "ana", età: 40, id: 2, nome: "Bryan", età: 40,È possibile trovare e visualizzare i record appena inseriti dalla raccolta del database molto facilmente lanciando la funzione "Trova" nell'istruzione. Questa funzione utilizza la parola chiave "db" seguita dal nome della raccolta "univoco" e dalla funzione "trova" con le parentesi vuote.
Test> db.Unico.Trovare()Ora che abbiamo una collezione con molti record, possiamo usare la collezione "unica" nella nostra illustrazione per discutere dell'uso di una query "distinta". Quindi, la query inizia con la stessa parola chiave "db" seguita dal nome della raccolta "univoco" e termina con la funzione "distinta". La funzione distinta () contiene il nome di un campo specifico di una raccolta nel suo argomento per ottenere e visualizzare i record univoci che non si ripetono nemmeno una volta. Diciamo che vogliamo dare un'occhiata a tutti i record univoci dal campo "Nome" della collezione "univoci". Pertanto, utilizziamo il campo "Nome" nell'argomento della funzione "distinta" all'interno delle seguenti istruzioni elencate. L'output di questa query visualizza solo i nomi del campo "Nome" che sono univoci. Se un nome viene ripetuto molte volte, lo visualizza solo una volta nell'output come un incrocio.
Test> db.Unico.distinto ("nome");Lo stesso passo è ripetuto per il campo "età" della collezione "unica" per ottenere tutte le età in modo univoco senza alcuna ripetizione. In cambio, otteniamo quattro valori unici di riga.
Test> db.Unico.distinto ("età");Esempio 2: visualizzare i record univoci da record multipli nidificati
Ora che abbiamo finito con i record a linea singola per ottenere i valori univoci dal campo particolare di una raccolta, siamo pronti a ottenere i valori univoci dai record nidificati di una raccolta "unica" che è un documento all'interno di un campo di documenti. Per questo, aggiorniamo la raccolta "unica" e aggiungiamo quattro nuovi record, ognuno contenente il valore "dati" nidificato al suo interno. Il campo "Data" contiene due campi al suo interno e fa un documento nidificato in MongoDB. La stessa funzione "Insert" viene utilizzata nella query con il nome della raccolta "univoco". Tutti e quattro questi record vengono aggiunti correttamente. L'output di riconoscimento è dimostrato nella seguente immagine:
Test> db.Unico.insert ([id: 9, nome: "Tim", dati: Age: 40, punteggio: 50,Dopo aver eseguito l'istruzione della funzione "Trova" di MongoDB, otteniamo gli elementi di una raccolta "unica" sullo schermo della shell in ordine crescente del campo "ID". Passando verso il basso nell'elenco di 12 record, troviamo i 4 record aggiunti di recente in questo output come visualizzato nel seguente. Ora che hai dato un'occhiata agli ultimi 4 record della collezione unica e hai un'esperienza nell'identificazione dei record unici attraverso i record a linea singola, imparerai a ottenere i record unici dai campi di tipo documento.
Test> db.Unico.Trovare()Supponiamo che tu voglia ottenere tutti i valori univoci dal campo "punteggio" di un campo "dati" di tipo documento in una raccolta "unica". Per utilizzare la funzione "distinta" per identificare e visualizzare tutti i valori una volta (non ripetuti), dobbiamo usare il nome di un campo "dati" del formato documento insieme al suo campo interno da visualizzare che è il "punteggio ". Entrambi questi campi sono collegati tramite un "punto" per ottenere i valori del campo interno attraverso il nome del campo esterno. La sintassi complessiva di una query è la stessa: la parola chiave "db" seguita da un nome di raccolta "univoco" e la funzione "distinta" con i suoi argomenti. L'output per l'esecuzione di questa query visualizza solo due valori dal resto dei quattro raccogliendo solo 1 valore dai record duplicati.
Test> db.Unico.distinto ("dati.Punto")La stessa cosa accade per il campo "Age" che risiede all'interno del campo "Data" di tipo documento. Il seguente output mostra solo due record dal resto dei quattro record:
Test> db.Unico.distinto ("dati.Età")Conclusione
Confrontando i nostri scenari di vita reale con il campo di programmazione, abbiamo sperimentato il viaggio più semplice e più semplice per conoscere la funzione "distinta" di MongoDB in questo articolo. Il paragrafo introduttivo della guida è tutto incentrato sul confronto e sull'uso della funzione distinta () nell'ambiente mongodb. Attraverso le illustrazioni dimostrate, ora sappiamo come utilizzare la funzione distinta per ottenere i valori solo in una shell.