I was reading about the Datomic pull syntax here:
http://docs.datomic.com/pull.html
And it explains under wildcard that a pattern like [*] will pull an entity and recursively pulls its entity attributes. Direct quote:
The wildcard specification * pulls all attributes of an entity, and recursively pulls any component attributes:
;; pattern
[*]
;; result
{:release/name "The Concert for Bangla Desh",
:release/artists [{:db/id 17592186049854}],
:release/country {:db/id 17592186045504},
:release/gid #uuid "f3bdff34-9a85-4adc-a014-922eef9cdaa5",
:release/day 20,
:release/status "Official",
:release/month 12,
:release/artistCredit "George Harrison",
:db/id 17592186072003,
:release/year 1971,
:release/media
[{:db/id 17592186072004,
:medium/format {:db/id 17592186045741},
:medium/position 1,
:medium/trackCount 2,
:medium/tracks
[{:db/id 17592186072005,
:track/duration 376000,
:track/name "George Harrison / Ravi Shankar Introduction",
:track/position 1,
:track/artists [{:db/id 17592186048829} {:db/id 17592186049854}]}
{:db/id 17592186072006,
:track/duration 979000,
:track/name "Bangla Dhun",
:track/position 2,
:track/artists [{:db/id 17592186048829}]}]}
...
]}
However, when I try this myself I only get db/id values for ref types. I have to basically call out any ref type in a more verbose way in the pull expression, with something like this:
[* {:content/type [:db/ident] :content/locales [:db/ident] :content/groups [*]}]
And that's not even actually the end of it, because :content/groups itself has ref types inside of it. Did the behavior of wildcarding change at some point and the docs are not up to date? Or am I doing something wrong? Is there a better (more concise) way to go about saying, "just recursively pull it all in"?