summaryrefslogtreecommitdiffstats
path: root/src/commands/geoadd.json
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/geoadd.json')
-rw-r--r--src/commands/geoadd.json98
1 files changed, 98 insertions, 0 deletions
diff --git a/src/commands/geoadd.json b/src/commands/geoadd.json
new file mode 100644
index 0000000..5409bfc
--- /dev/null
+++ b/src/commands/geoadd.json
@@ -0,0 +1,98 @@
+{
+ "GEOADD": {
+ "summary": "Adds one or more members to a geospatial index. The key is created if it doesn't exist.",
+ "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"
+ }
+ }
+}