2.10. Buscar en un array de documents
Si ens fixem en l’estructura del fitxer JSON importat, només conté un document JSON. I en un dels camps, l’anomenat knownGene, conté un array de documents JSON, i cada document de l’array conté informació dels gens del cromosoma 1: nom, cadena, cromosoma, etc.
Això ens obliga a conèixer com es treballa amb els continguts dels arrays si volem gestionar correctament aquesta informació.
Hem de fer servir el dot.notation
.
Per exemple, mostrarem la informació del gen uc009vis.3
.
Aquesta és la instrucció:
db.chr1.find({ "knownGene.name": "uc009vis.3"}, {"knownGene.$": 1}).pretty();
Veiem com per referir-nos al nom del gen escrivim "knownGene.name":
és a dir, el nom del camp del document que és un array de documents JSON, el knownGene
, punt i a continuació el nom del camp dels documents que es troben a l’array name
. Amb knownGene.$": 1
indiquem que ens mostri tots els camps dels documents trobats a l’array knownGene
.
El dot.notation
també ens serveix per referir-nos a camps de documents embeguts.