This, by the way, is a good representation of how Firebase stores everything. You can always organize things by having multiple levels of parents. To only have one level, just like in the example, you need to set the ItemTable object's Sub domain property to nothing. This will eliminate the first layer.
To write to your database with the Itemtable plugin, you use the Prepare: Set value action, then Save: save. In Prepare: Set value, you can set the key1 and the value from the example you can see above. In the Save: save, the only thing you really need to worry about is the itemID, which you will see as the parent in the example. If you want to set multiple items at once, you can add another Prepare: Set value. This is how it will look like in Constuct 2:
And this is the result in Firebase:
The easiest way to read things with the Itemtable plugin is to just have it download everything from the database, and filter it by itemID locally. Of course if the database is too big, you may have to try a different technique. Now to do take the easy route, just put a Load: Load all action somewhere BEFORE the time you want the data. It doesn't have to be on start of the layout, but just keep in mind that this download takes at least 0.1 second. You should set a tag, something like "all" or "main". If you need the data as fast as possible, use the Load: On load complete event. Use the ItemTable.At expression to get the value associated with a certain key. For example, if you want to get the value associated with key2 from the example above, you use ItemTable.At("parent", "key2").
First of all, thank you for reading. Thanks to RexRainbow for making these awesome plugins. Thanks to Firebase for offering this service for free for everyone. I hope that this tutorial has helped you make great games and if you have any questions, feel free to leave a comment.