Relational DB with Ionic apps?

I’m trying to develop an app where you store notes in a hierarquical manner. I’ve started trying to develop it using ionic data storage but the key value pair structure does not feel robust enough, I feel like when the app starts getting more complicated I’m going to have to jump some hoops to get the thing working fine, for things like getting all the notes that are children of another note, etc. Also bugs me that in the default storage solution I have to send the whole object to functions like search, edit, delete, etc., when if I had a database where I can store rows of information, it would be better to pass simple values like id, etc.

I see that I can use sqlite to do just that, but it seems that I have to configure ionic storage to default to sqlite instead of the standard behavior which is trying to find the best available data store engine according to the platform - and such change in ionic storage configuration seems to be not recomended for some reason. And even though ionic storage changes it’s engine to sqlite when native support for it is detected, I don’t have a way to use it the way I need when writing software (with tables and primary keys and such), without resorting to aforemented ionic storage configuration change.

Is there any other way of having a proper database engine (with tables and primary keys) so I can deal with more complex information structure in Ionic? do other database engines like couchdb and firebase? I don’t know much about them, except that firebase is a DBaaS, so it allows you to connect it with other databases online - which I don’t plan on doing, the app I’m creating has no real benefit with a internet connection (so far, at least)

So, to sum up, that’s my question: are there any local data storage engines that allow me to have things like tables and rows and primary keys? Can I use sqlite support from ionic storage to do just that, even though it seems like I shoudn’t?

Kind regards.

Which (note) editor do you use?


I haven’t settled for a editor yet. Was thinking about using one with markdown support, if that’s available. But that’s for the future, for now I’m using plain text and simple input fields.