如何使用ReJSON设置嵌套值(对象)

时间:2018-11-02 09:57:33

标签: redis rejson

如果我使用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 :(得分:3)

由于要添加字典(“地址”),解决方法是:

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

或者,如果您只是做:

JSON.SET testing .address '{}'

您将可以使用问题中的命令而不会出现任何错误。