MongoDB $ Concatarrays

MongoDB $ Concatarrays

$ Concatarrays è l'espressione dell'array di MongoDB che viene utilizzata nel metodo della pipeline di aggregazione. L'operatore $ Concatarrays viene utilizzato per concaterare le due matrici di documenti in un singolo array. Per creare un array unico, possiamo concaterare più di due array con l'operatore $ Concatarrays. Il punto importante è che l'operatore $ Concatarrays risolve solo i campi di array in MongoDB, altrimenti genera l'errore. L'array deve essere una dichiarazione valida per $ Concatarrays prima che possa essere convertito in un array modificato. L'operatore di $ Concatarrays restituisce null se uno qualsiasi degli argomenti è un campo inesistente o si risolve a un valore nullo. Questo articolo fornisce ulteriori informazioni sull'operatore $ ConcataRays.

Come utilizzare l'operatore $ Concatarrays in MongoDB

Usiamo l'operatore $ Concatarrays di MongoDB per unire i due array come un singolo array. L'operatore $ Concatarrays viene utilizzato nel documento di raccolta "Giochi". La raccolta "Giochi" di MongoDB è impostata con i seguenti documenti usando il comando insertmany (). Questi documenti contengono anche i campi di array che vengono utilizzati dall'operatore $ Concatarrays per unirsi a loro.

db.Giochi.InsertMany ([

"_id": 1,
"Game": "Football",
"Team1": ["David", "Mark", "Levis"],
"Team2": ["Sam", "Alex", "orchid"],
"Punteggio1": [20, 14, 8],
"Score2": [7, 19, 21]
,

"_id": 2,
"Game": "Tennis",
"Team1": ["Bella", "Emily", "Alice"],
"Team2": ["Stella", "Bloom", "Olive"],
"Score1": [19, 15, 18],
"Score2": [17, 10, 11]
,

"_id": 3,
"Game": "Basketball",
"Team1": ["George", "Smith", "Polard"],
"Team2": [],
"Score1": [21, 15, 6],
"SCOPE2": [4, 13, 19]
,

"_id": 4,
"Game": "Badminton",
"Team1": ["David", "Mark", "Levis"],
"Team2": 0,
"Punteggio1": [20, 14, 8],
"Score2": [7, 19, 21]

])

Quando eseguiamo la query InsertMany () nella shell Mongodb, rappresenta i seguenti risultati:

riconosciuto: True, InsertedIds: '0': 1, '1': 2, '2': 3, '3': 4

Esempio 1: MongoDB $ Concatarrays operatore per concaterare l'array intero

Usiamo l'operatore di MongoDB $ Concatarrays per concatenare l'array degli elementi interi. Qui, utilizziamo i campi $ punteggio1 e $ punteggio2 per l'operazione perché contengono i valori numerici dell'array. Usiamo l'operatore aggregato () in cui l'operatore $ match corrisponde al documento che soddisfa la condizione "" gioco ":" calcio "". Quindi, utilizziamo l'operatore del progetto $ per l'inclusione del campo "newarray". Il campo "NewArray" ha l'operatore $ Concatarrays che inserisce i campi Array "$ punteggi" e "$ punteggi2". L'operatore $ Concatarrays unisce i valori di questi campi solo per il documento il cui campo "Giochi" ha il valore del "calcio".

db.Giochi.aggregato([
$ match: "gioco": "calcio",
$ Progetto:
Newarray: $ ConcataRrays: ["$ SCEET1", "$ SCEET2"]])

L'array che viene visualizzato nell'output contro il campo "newarray" contiene tutti gli elementi del campo set di $ Concatarrays. Si noti che qualsiasi valore ripetuto non viene concaterato due volte nell'array. Appare solo uno alla volta nell'array appena generato dall'operatore $ Concatarrays.

[_id: 1, newarray: [20, 14, 8, 7, 19, 21]]

Esempio 2: MongoDB $ Concatarrays operatore per concaterare l'array di stringhe

Usiamo l'operatore $ Concatarrays per unirci ai valori dell'array numerico. L'operatore di $ Concatarrays di MongoDB unisce anche il valore dell'array di stringhe in un singolo array. Proprio come l'array intero, l'operatore $ Concatarrays unisce gli elementi unici dell'array di stringhe. Qui, abbiniamo il documento con il valore del "tennis" contro il campo "Giochi". Una volta che il documento è stato abbinato dall'operatore $ Match, applichiamo l'operatore $ Concatarrays sui campi di array di stringhe, "$ team1" e "$ team2". Il campo proiettato "NewArray" mostra l'array risultante dell'operatore $ ConcataRays.

db.Giochi.aggregato([
$ match: "gioco": "tennis",
$ Progetto: newarray:
$ Concatarrays: ["$ team1", "$ team2"]])

I valori di stringa dei campi "$ team1" e "$ team2" sono concatenati dall'operatore $ Concatarrays nel seguente campo "NewArray":

[

_id: 2,
Newarray: ["Bella", "Emily", "Alice", "Stella", "Bloom", "Olive"]

"

Esempio 3: MongoDB $ Concatarrays Operatore per concatenare gli array vuoti

Quando l'operatore $ Concatarrays si unisce al campo dell'array con un altro campo vuoto, non si verificano cambiamenti. Il campo dell'array che contiene i valori appare solo nel nuovo array modificato. Consideriamo il funzionamento dell'operatore di $ Concatarrays sul campo dell'array vuoto. Per prima cosa cerchiamo il documento che ha l'array vuoto. L'operatore $ Match viene utilizzato per trovare il documento con il campo "_id" e il valore di "3". Quindi, abbiamo il campo di inclusione "ArrayResult" che viene impiegato con l'operatore $ Concatarrays. $ Concatarrays usa l'espressione ["$ team1", "$ team2"] per unirli come un array unico.

db.Giochi.aggregato([
$ match: _id: 3,
$ Progetto:
_id: 0,
Newarray: $ Concatarrays: ["$ team1", "$ team2"]


])

L'array risultante mostra solo l'elemento del primo array dall'operatore $ Concatarrays perché il secondo array è vuoto.

[Newarray: ['George', 'Smith', 'polard']]

Esempio 4: MongoDB $ Concatarrays Operatore per concatenare le matrici di un altro tipo

L'operatore $ Concatarrays prende solo l'argomento come espressione valida per risolvere gli array. MongoDB produce un errore se l'operatore $ Concatarrays non può essere risolto in un array. Ecco la query in cui l'espressione non valida viene passata nei Concatarrays $. Prima distribuiamo l'operatore $ Match nel metodo aggregato () che corrisponde all'espressione "_id: 4" con i documenti della raccolta con cui stiamo lavorando. Successivamente, abbiamo un operatore di progetto $ per la soppressione del campo "_id" poiché "0" è assegnato ad esso. Quindi, abbiamo una nuova aggiunta del campo "ArrayResult" in cui viene condotta l'operazione $ ConcataRays. L'operatore $ ConcataRays qui inpagna "$ team1" Il campo Array che ha il valore della stringa e il campo "$ team2" non è l'array. Inoltre, il campo $ team2 ha un tipo di valore intero.

db.Giochi.aggregato([
$ match: _id: 4,
$ Progetto:
_id: 0,
ArrayResult: $ Concatarrays: ["$ team1", "$ team2"]


])

Lì, incontriamo l'errore del server MongoDB come operatore $ Concatarrays che sta cercando di unirsi all'array con l'altro tipo.

"MongOServererror: Planexecutor Errore durante l'aggregazione :: Causato da :: $ Concatarrays supporta solo array, non int"

Esempio 5: MongoDB $ Concatarrays Operatore per concatenare l'array del campo mancante

Quando l'operatore $ Concatarrays viene utilizzato per unirsi all'array di campo che non esiste in nessuno dei documenti, il null è ottenuto nell'output. Considera la dichiarazione con lo script di esempio. Concateniamo i campi di array abbinando il documento "_id: 4" utilizzando l'operatore $ match. Quindi, abbiamo un operatore di progetto $ che definisce il campo "Resultarr". Il campo "ResultArr" ha l'operatore $ Concatarrays utilizzato per unirsi al campo "$ team1" incluso nel documento specificato con il campo "$ team3" che non fa parte del documento.

db.Giochi.aggregato([
$ match: _id: 2,
$ Progetto:
_id: 0,
ResultArr: $ Concatarrays: ["$ team1", "$ team3"]


])

Quando la query viene eseguita nella shell MongoDB, il "null" viene recuperato dal concatoperatore $ perché il campo $ team3 non è incluso nel documento di "_id: 4".

[Resultar: null]

Conclusione

Questo articolo parla dell'operatore MongoDB $ Concatarrays che unisce il valore dell'array. Abbiamo unito gli array di interi e gli array di stringhe con l'aiuto dell'operatore $ Concatarrays. Quindi, abbiamo impiegato l'operatore $ Concatarrays per concatenare l'array vuoto con l'array riempito che si è concluso con il primo elemento di array nell'output. Abbiamo anche unito all'array con l'array mancante che restituisce il valore nullo. Alla fine, abbiamo preso il caso dell'operatore di $ Concatarrays dove ci siamo uniti alle matrici di diversi tipi.