Estoy tratando de obtener los valores de un mapa y almacenarlos en una matriz de firestore usando react native. Este es un ejemplo de cómo me gustaría que se vea la matriz, después de extraer el mapa.
const [food, setFood] = useState([ {Food: 'Cheese', Calories: 20, Quantity: 1, key: '1'}, {Food: 'Lettuce', Calories: 10, Quantity: 1, key: '2'}, ]); Aquí están los datos almacenados en firestore: 
Para obtener los datos y otros campos de firestore, estoy usando esta función:
const getFoodData = async () =>{ const docRef = doc(db, "foods", uid); const docSnap = await getDoc(docRef); if (docSnap.exists()) { console.log("Document data:", docSnap.data()); } else { console.log("No such document!"); } setFood(docSnap.get("Food.Cheese.Calories")) console.log(food) }Puedo obtener el valor de un campo individual haciendo lo anterior, pero necesito tenerlo almacenado en una matriz, como en el primer ejemplo. como seria capaz de hacer eso?
Puede intentar usar Object.keys() y luego usar un mapa como se muestra a continuación:
const foodMap = docSnap.data().Food const result = Object.keys(foodMap).map(key => ({ food: key, ...foodMap[key] }))Gran respuesta , Dharmaraj.
Agregar fragmento de código para que pueda verlo en acción:
// Food is the result of doc.data().food const food = { Cheese: { Calories: 20, Quantity: 1, key: '1'}, Lettuce: { Calories: 10, Quantity: 1, key: '2'}, }; console.log('Firestore Data: ', food) const result = Object.keys(food).map(key => ({ food: key, ...food[key]})) console.log('Flattened result: ', result)