{
    "GEOADD": {
        "summary": "Add one or more geospatial items in the geospatial index represented using a sorted set",
        "complexity": "O(log(N)) for each item added, where N is the number of elements in the sorted set.",
        "group": "geo",
        "since": "3.2.0",
        "arity": -5,
        "function": "geoaddCommand",
        "history": [
            [
                "6.2.0",
                "Added the `CH`, `NX` and `XX` options."
            ]
        ],
        "command_flags": [
            "WRITE",
            "DENYOOM"
        ],
        "acl_categories": [
            "GEO"
        ],
        "key_specs": [
            {
                "flags": [
                    "RW",
                    "UPDATE"
                ],
                "begin_search": {
                    "index": {
                        "pos": 1
                    }
                },
                "find_keys": {
                    "range": {
                        "lastkey": 0,
                        "step": 1,
                        "limit": 0
                    }
                }
            }
        ],
        "arguments": [
            {
                "name": "key",
                "type": "key",
                "key_spec_index": 0
            },
            {
                "name": "condition",
                "type": "oneof",
                "optional": true,
                "since": "6.2.0",
                "arguments": [
                    {
                        "name": "nx",
                        "type": "pure-token",
                        "token": "NX"
                    },
                    {
                        "name": "xx",
                        "type": "pure-token",
                        "token": "XX"
                    }
                ]
            },
            {
                "name": "change",
                "token": "CH",
                "type": "pure-token",
                "optional": true,
                "since": "6.2.0"
            },
            {
                "name": "data",
                "type": "block",
                "multiple": true,
                "arguments": [
                    {
                        "name": "longitude",
                        "type": "double"
                    },
                    {
                        "name": "latitude",
                        "type": "double"
                    },
                    {
                        "name": "member",
                        "type": "string"
                    }
                ]
            }
        ],
        "reply_schema": {
            "description": "When used without optional arguments, the number of elements added to the sorted set (excluding score updates).  If the CH option is specified, the number of elements that were changed (added or updated).",
            "type": "integer"
        }
    }
}
