Как установить вложенные значения (объекты) с помощью ReJSON - PullRequest
0 голосов
/ 02 ноября 2018

Если я вставлю следующий объект, используя ReJSON:

JSON.SET testing . '{"person":{"name":"John","surname":"Doe"}}'

Есть ли способ "добавить" вложенную структуру? Я хотел бы добавить "address.name" для примера, чтобы получить следующий JSON:

{
  "person": {
    "name": "John",
    "surname": "Doe"
  },
  "address": {
    "name": "Imaginary Street"
  }
}

Я пытался использовать JSON.SET testing .address.name '"Imaginary Street 7"', но это приводит к (error) ERR missing key at non-terminal path level.

Документы гласили:

Ключ (с соответствующим значением) добавляется к объекту JSON (в Redis ReJSON ключ типа данных), если и только если это последний дочерний элемент в путь.

Является ли "address.name" не последним дочерним элементом в пути? Что я делаю не так?

1 Ответ

0 голосов
/ 02 ноября 2018

Поскольку вы добавляете словарь («адрес»), способ сделать это:

JSON.SET testing .address '{"name": "Imaginary Street"}'

В качестве альтернативы, если вы просто:

JSON.SET testing .address '{}'

вы сможете использовать команду из вашего вопроса без ошибок.

...