code: def match(value, query):
      
      if type(query) in [str, int, float, type(None)]:
          return value == query
      elif type(query) == dict and len(query.keys()) == 1:
          for op in query:
              if op == "$eq": return value == query[op]
              elif op == "$lt": return value < query[op]
              elif op == "$lte": return value <= query[op]
              elif op == "$gt": return value > query[op]
              elif op == "$gte": return value >= query[op]
              elif op == "$ne": return value != query[op]
              elif op == "$in": return value in query[op]
              elif op == "$nin": return value not in query[op]
              else: GeoQLError("Not a valid query operator: " + op)
      else:
          raise GeoQLError("Not a valid query: " + str(query))
docs: Determine whether a value satisfies a query.