Estoy escribiendo una consulta en reaccionar nativo para obtener datos de firestore mediante la filtración de amigos por nombre de amigo... Como obtener todos los usuarios donde friendName es XYZ
[ {User: 'Johan', friends:[{friendName: 'ABC', age:20}, {friendName: 'DEF', age:30},{friendName: 'XYZ', age:25}]}, {User: 'Johnson', friends:[{friendName: 'ABC', age:20}, {friendName: 'XYZ', age:25}]}, {User: 'Symonds', friends:[{friendName: 'DEF', age:30},{friendName: 'XYZ', age:25}]} ]Estoy intentando con un código como este que no funciona. Como necesito mencionar para filtrar con friendName pero no puedo encontrar cómo escribir esto en la consulta.
usersRef .doc(userId) .collection("Users") .where('friends', 'array-contains','ABC') .get();mientras Sé que no puede consultar campos dentro de objetos. Mi enfoque sería consultar la identificación del usuario y luego iterar la matriz resultante.
//First make a query let resultsArray=[] usersRef.doc(userId).collection("Users").get().then((docs)=>{ this.resultsArray.push(docs) }) //after query is done, iterate results this.resultsArray.foreach((item)=>{ item.data().friends.foreach((friend)=>{ if(friend.friendName === 'ABC'){ //yes, your friend name is ABC, do whatever you need. } ) })