Seleccionar Campos de Exportación
En este paso, aprenderá a exportar selectivamente campos específicos de su colección de MongoDB. Esto es útil cuando desea extraer solo cierta información de sus documentos.
Primero, agreguemos documentos más detallados a nuestra colección para demostrar la exportación selectiva:
mongosh
En la shell de MongoDB, agregue documentos de usuario más completos:
use exportlab
db.users.drop() // Borra los datos anteriores
db.users.insertMany([
{
name: "Alice",
age: 28,
email: "[email protected]",
address: {
city: "New York",
country: "USA"
},
skills: ["Python", "MongoDB", "Data Analysis"]
},
{
name: "Bob",
age: 35,
email: "[email protected]",
address: {
city: "San Francisco",
country: "USA"
},
skills: ["JavaScript", "React", "Node.js"]
}
])
exit
Ahora, exportemos solo campos específicos utilizando diferentes métodos de exportación:
- Exportar solo nombre y correo electrónico:
mongoexport --db=exportlab --collection=users --type=csv --fields=name,email --out=~/project/users_contact.csv
- Exportar con JSON para preservar las estructuras anidadas:
mongoexport --db=exportlab --collection=users --type=json --fields=name,address --out=~/project/users_address.json
Verifiquemos los archivos exportados:
echo "Exportación de Contactos en CSV:"
cat ~/project/users_contact.csv
echo -e "\nExportación de Direcciones en JSON:"
cat ~/project/users_address.json
Salida de ejemplo para CSV:
name,email
Alice,[email protected]
Bob,[email protected]
Salida de ejemplo para JSON:
{"name":"Alice","address":{"city":"New York","country":"USA"}}
{"name":"Bob","address":{"city":"San Francisco","country":"USA"}}
Puntos claves sobre la selección de campos:
- Utilice
--fields
para especificar exactamente los campos que desea exportar
- Para documentos anidados, se conserva toda la estructura anidada
- Las exportaciones CSV aplatan las estructuras anidadas
- Las exportaciones JSON mantienen la estructura original del documento