To get around the restriction on writing / updating entity groups (note that entities without a parent are their own entity group), you can create a new object for each chat message and save a property in it that will refer to the chat to which they belong. .
Then you will find all the chat messages belonging to the chat through the request. But that would be very inefficient, since then you would need to make a request for each user for each new message.
So, go to the tip above, but optionally do:
backends. - , ( / ). -, ( Datastore). , 100% , - .
API . . , .