code: def test_json_mget_dollar(client):
      # Test mget with multi paths
      client.json().set(
          "doc1",
          "$",
          {
              "a": 1,
              "b": 2,
              "nested": {"a": 3},
              "c": None,
              "nested2": {"a": None},
          },
      )
      client.json().set(
          "doc2",
          "$",
          {
              "a": 4,
              "b": 5,
              "nested": {"a": 6},
              "c": None,
              "nested2": {"a": [None]},
          },
      )
      # Compare also to single JSON.GET
      res = [1, 3, None]
      assert_resp_response(
          client, client.json().get("doc1", "$..a"), res, [res]
      )
      res = [4, 6, [None]]
      assert_resp_response(
          client, client.json().get("doc2", "$..a"), res, [res]
      )
  
      # Test mget with single path
      client.json().mget("doc1", "$..a") == [1, 3, None]
      # Test mget with multi path
      client.json().mget(["doc1", "doc2"], "$..a") == [
          [1, 3, None],
          [4, 6, [None]],
      ]
  
      # Test missing key
      client.json().mget(["doc1", "missing_doc"], "$..a") == [
          [1, 3, None],
          None,
      ]
      res = client.json().mget(["missing_doc1", "missing_doc2"], "$..a")
      assert res == [None, None]
  
imports: import pytest
  import redis
  from redis import Redis, exceptions
  from redis.commands.json.decoders import decode_list, unstring
  from redis.commands.json.path import Path
  from .conftest import _get_client, assert_resp_response, skip_ifmodversion_lt
label_desc: Use image node_id 30 for calling a global function with example usage: test_json_mget_dollar(client) without return types