diff --git a/plugins/dbgate-plugin-redis/src/backend/driver.js b/plugins/dbgate-plugin-redis/src/backend/driver.js index fb0e9bacd..1385e90da 100644 --- a/plugins/dbgate-plugin-redis/src/backend/driver.js +++ b/plugins/dbgate-plugin-redis/src/backend/driver.js @@ -451,6 +451,14 @@ const driver = { case 'string': res.value = await dbhan.client.get(key); break; + case 'ReJSON-RL': + res.type = 'json'; + try { + res.value = JSON.stringify(await dbhan.client.call('JSON.GET', key), null, 2); + } catch (e) { + res.value = ''; + } + break; // case 'list': // res.tableColumns = [{ name: 'value' }]; // res.addMethod = 'rpush'; @@ -489,6 +497,8 @@ const driver = { return await this.deleteBranch(dbhan, args[0]); case 'zadd': return await dbhan.client.zadd(args[0], args[2], args[1]); + case 'json.set': + return await dbhan.client.call('JSON.SET', args[0], '$', args[1]); case 'xaddjson': let json; try { diff --git a/plugins/dbgate-plugin-redis/src/frontend/driver.js b/plugins/dbgate-plugin-redis/src/frontend/driver.js index 80956b306..bb24ba02b 100644 --- a/plugins/dbgate-plugin-redis/src/frontend/driver.js +++ b/plugins/dbgate-plugin-redis/src/frontend/driver.js @@ -76,6 +76,12 @@ const driver = { addMethod: 'xaddjson', showItemList: true, }, + { + name: 'json', + label: 'JSON', + dbKeyFields: [{ name: 'value' }], + addMethod: 'json.set', + } ], showConnectionField: (field, values) => {