在redis-rejson上,我正在尝试计算arrayappend。 我按照documentation中的指示放入了一个对象,一个路径,一个json和一个数组。
简介:
我的目标=>我想用Redis创建一个对象数组
我的目标=>该对象数组允许我将用户会话放入我的Redis缓存中
我想要的输出=> " [{objectOne}, {objectTwoJustAdded}]"
我的问题=>似乎我在控制台中输入了错误的类型。
这是我的命令:
JSON.ARRAPPEND test36 "." '{"user1":"1"}' [... CartModel]
WRONGTYPE Operation against a key holding the wrong kind of value
但是您可以看到它不起作用,但我尝试了一些变体:
127.0.0.1:6380> JSON.ARRAPPEND test36 "." '{"user1":"1"}'
WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6380> JSON.ARRAPPEND test36 "here a vlue"
ERR wrong number of arguments for 'JSON.ARRAPPEND' command
127.0.0.1:6380> JSON.ARRAPPEND test36 "." 'here a value'
WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6380> JSON.ARRAPPEND test36 "." '["here a value"]'
WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6380> JSON.arrappend test36 "." [ 'example', '.', '{"firstname":"Jon","lastname":"Doe"}' ]
Invalid argument(s)
127.0.0.1:6380> JSON.get CartModel
{"userID":{"beverage":{},"sandwich":{},"treat":{},"dessert":{}}}
127.0.0.1:6380> JSON.ARRAPPEND test36 "." '{"user1":"1"}' [... CartModel]
WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6380> JSON.ARRAPPEND arr . 0
WRONGTYPE Operation against a key holding the wrong kind of value
均无效。 那怎么办呢? 任何提示都会很棒, 谢谢
答案 0 :(得分:0)
您必须首先在数据库中提供一个数组,然后将其用作其他Json对象的接收者:
127.0.0.1:6380> JSON.set objectArray "." "[]"
OK
127.0.0.1:6380> json.arrappend objectArray "." '{"appenda":"a value"}'
1
127.0.0.1:6380> json.get objectArray
[{"appenda":"a value"}]
PS:为什么程序员喜欢制作模糊的文档?就像一顿吸引人的饭菜,拒绝进食。