I have a document which contains an array of object. The document is meant to store relations between two individuals on the app. They key defining the relation is status. example one document is:
{
"document":{
"relation":[
{
"displayURL":"https://firebasestorage.googleapis.com/something.png",
"status":3,
"to":"fDI5KVG8xsMz3wbviiiumEeZzYT2",
"onClick":"fDI5KVG8xsMz3wbviUNumEeZzYT2",
"from":"Aman Sharma "
}
]
}
}
public void setRelation(String from,String to,String displayURL,int status) {
FriendRequest friendRequest=new FriendRequest(from,to,displayURL,status,currUid);
Map<String, Object> update = new HashMap<>();
update.put("relation", FieldValue.arrayUnion(friendRequest));
friendReqs.document(currUid).set(update, SetOptions.merge()).addOnCompleteListener(completionLiveData);
}
This essentially creates a new object in relation array, with a status equal to 2. But I want to just update particular object in relation array without creating a new one.