DictDataBase icon indicating copy to clipboard operation
DictDataBase copied to clipboard

Use glob match for dictionary keys

Open mrzv opened this issue 1 year ago • 2 comments

Suppose I have a database with the following layout:

A/
  meta.json
  data.json
B/
  meta.json
  data.json
C/
  ...

Then suppose I try to read all the metadata via:

DDB.at('*/meta').read()

This will return the contents of only one of the meta.json, what I'd like is the dictionary of all of them indexed by 'A', 'B', 'C', .... In other words, I'd like the glob wildcard match to be used as keys, not the last component of the path.

Is it possible to add such functionality?

P.S. I realize that it's possible to reorganize the database into something like:

meta/
    A.json
    B.json
    C.json
data/
    A.json
    B.json
    C.json

But I think that's less flexible.

mrzv avatar Dec 22 '23 17:12 mrzv

Hi! I can look into that in the next few days! You could also put all the data into a single json file, which would also increase the speed since it wouldn’t have to read multiple files. But I guess you have some requirement such that they need to be separate?

mkrd avatar Dec 25 '23 15:12 mkrd

It's a way to avoid unnecessary locking and conflicts. And thanks for looking into it!

mrzv avatar Dec 25 '23 15:12 mrzv