假设我有一个 JavaScript 对象,其结构如下:
{
id: "someUniqueId",
foo: "otherData",
bar: 30
}
Run Code Online (Sandbox Code Playgroud)
我想在RedisJSON中存储数百个。我目前正在使用node-redis 客户端将密钥初始化'json-objects'为空对象:
await client.json.set('json-objects', `$`, {});
Run Code Online (Sandbox Code Playgroud)
然后,我将对象添加到该键的根对象,例如:
const dataToStore = {
id: "someUniqueId",
foo: "otherData",
bar: 30
}
await client.json.set('json-objects', `$.${dataToStore.id}`, dataToStore as any);
Run Code Online (Sandbox Code Playgroud)
这会导致键下出现一个大对象,'json-objects'如下所示:
{
"someUniqueId-1": {
id: "someUniqueId-1",
foo: "otherData",
bar: 30
},
"someUniqueId-2": {
id: "someUniqueId-2",
foo: "otherData2",
bar: 31
},
"someUniqueId-3": {
id: "someUniqueId-3",
foo: "otherData3",
bar: 32
},
and so on...
}
Run Code Online (Sandbox Code Playgroud)
然后我可以使用路径查询和更新:
await client.json.set('json-objects', `$.${id}.foo`, "someUpdatedData"); …Run Code Online (Sandbox Code Playgroud)