<div class="page">
<div class="cover text-center">
<img class="mx-auto" src=/itb/images/logo_mislata.png alt="logo">
# Solució Consultes Municipis
<div class="text-end fit-content ms-auto my-3 mt-auto pt-3">
<p><strong>Autor:</strong> Joan Puigcerver Ibáñez</p>
<p><strong>Correu electrònic:</strong> j.puigcerveribanez@edu.gva.es</p>
<p><strong>Curs:</strong> 2023/2024</p>
</div>
<div>
<p class="fw-bold mb-0">Llicència: BY-NC-SA</p>
<p class="d-none d-md-block">(Reconeixement - No Comercial - Compartir Igual)</p>
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.ca" target="_blank">
<img class="mx-auto" src="/itb/images/license.png" alt="Licence"/>
</a>
</div><!--license-->
</div><!--cover-->
</div><!--page-->
{:toc}
## Base de dades
La base de dades `municipis` conté les següents col·leccions:
- `municipis`: Conté la informació dels municipis.
__Fitxers:__
- <a href="/DAM-BD/files/ca/municipis/mongodb/municipis.json" download="municipis.json">municipis.json</a>
::: example "Estructura d'un municipi
```mongodb
[
{
_id: ObjectId('663a2f6d638ab1b329ca86f7'),
comunitat: 'Comunitat Valenciana',
provincia: 'València',
poblacio: 'Mislata',
localitzacio: [ 39.47624, -0.419307 ],
altitud: 33.95,
habitants: 43756,
homens: 21475,
dones: 22281,
zip: [ '46920' ]
}
]
```
:::
## Consultes
1. Consulta la informació del municipis que incloguen el nom __Castelló__.
```mongodb
[
{ poblacio: "Castelló d'empúries" },
{ poblacio: 'Castelló de farfanya' },
{ poblacio: 'Castelló de la plana' },
{ poblacio: 'Castelló de rugat' },
{ poblacio: 'Castelló (de la Ribera)' }
]
```
??? solution
```mongodb
db.municipis.find({poblacio: /castelló/i}, {_id: 0, poblacio: 1})
```
???
2. Compta el nombre de municipis que pertanyen a la província de __València__.
```mongodb
266
```
??? solution
```mongodb
db.municipis.find({provincia: 'València'}).count()
```
???
3. Mostra la informació dels municipis que tenen una altitud superior a 1500 metres. Ordenals de major a menor altitud.
```mongodb
[
{ poblacio: 'Aisa', altitud: 1818.995 },
{ poblacio: 'Valdelinares', altitud: 1699.088 },
{ poblacio: 'Pedroso', altitud: 1699.063 },
{ poblacio: 'Griegos', altitud: 1601.854 }
]
```
??? solution
```mongodb
db.municipis.find({altitud: {$gt: 1500}}, {_id: 0, poblacio: 1, altitud: 1}).sort({altitud: -1})
```
???
4. Mostra la informació dels municipis que tenen un nom amb més de 40 lletres.
```mongodb
[
{
provincia: 'Burgos',
poblacio: 'Villarcayo de merindad de castilla la vieja'
},
{
provincia: 'Girona',
poblacio: "Cruïlles. monells i sant sadurní de l'heura"
},
{
provincia: 'Madrid',
poblacio: 'Gargantilla del lozoya y pinilla de buitrago'
}
]
```
??? solution
```mongodb
db.municipis.find({$where: "this.poblacio.length > 40"}, {_id: 0, poblacio: 1})
```
???
5. Mostra la informació del municipi més al nord de l'estat espanyol.
```mongodb
[ { poblacio: 'Mañón', localitzacio: [ 43.7692, -7.685581 ] } ]
```
??? solution
```mongodb
db.municipis.find({}, {_id: 0, poblacio: 1, localitzacio: 1}).sort({'localitzacio.0': -1}).limit(1)
```
???
6. Obté els municipis que no tenen codi postal i que el nombre d'habitants
siga major de 100000 ordenats alfabèticament.
```mongodb
[
{ poblacio: 'Alacant' },
{ poblacio: 'Alcobendas' },
{ poblacio: 'Castelló de la plana' },
{ poblacio: 'Coruña, a' },
{ poblacio: 'Elx' },
{ poblacio: "Hospitalet de llobregat, l'" },
{ poblacio: 'Iruña' },
{ poblacio: 'Palma' },
{ poblacio: 'Palmas de gran canaria, las' },
{ poblacio: 'San cristóbal de la laguna' },
{ poblacio: 'Santa coloma de gramenet' }
]
```
??? solution
```mongodb
db.municipis.find({zip: {$exists: false}, habitants: {$gt: 1000}}, {_id: 0, poblacio: 1}).sort({poblacio: 1})
```
???