I am trying to iterate over a list in order to create a report upon its contents. How do you convert something that looks like this:

```
(
    {
        :_id  "123"
        :keya "aaa"
        :keyb "bbb"
    }
    {
        :_id  "456"
        :keya "ccc"
        :keyb "ddd"
    }
    {
        :_id  "789"
        :keya "eee"
        :keyb "fff"
    }
)

```

into something that looks like this?:

```
{
    :123 {
        :_id  "123"
        :keya "aaa"
        :keyb "bbb"
    }
    :456 {
        :_id  "456"
        :keya "ccc"
        :keyb "ddd"
    }

    :789 {
        :_id  "789"
        :keya "eee"
        :keyb "fff"
    }
}

```

I am very grateful for help you could offer.

EDIT: WHAT I'VE TRIED SO FAR

```
(defn fetchAndReport [idarray]

    (let [fetched_objs       (mc/find-maps mongoconnection ncoll {:_id { "$in" idarray }})
          bad_report         (zipmap idarray fetched_objs) ;; mismatched keys with wrong objs - can't count on payload order
          post_fetched_ids   (map (fn [element] (get-in element [:_id])) fetched_objs)
          long_way_report    (zipmap post_fetched_ids fetched_objs)]

          long_way_report
    )
)

```