我收藏了Providers
。
每个提供者可以有多个Orders
。
我需要在json数组中保存与每个提供程序有关的订单ID。
一种可能的解决方案是使用HSET。
HSET provider_orders providerId:1 "['1234']"
或在javascript中
ioredis.hset(
'provider_orders',
`providerId:1`,
['1234'],
)
其中1
是提供者ID,'1234'
是orderId
但是,如果我需要向同一提供商添加新订单,则需要获取当前的订单ID数组并添加新的订单ID。
类似这样的东西:
const currentOrders = ioredis.hget(
'provider_orders',
`providerId:${deliverer.id}`
)
currentOrders.push(newOrder)
ioredis.hset(
'provider_orders',
`providerId:${deliverer.id}`,
currentOrders,
)
这是做类似事情的最好方法吗?
我考虑的另一种选择是为每个提供程序创建新密钥并使用SADD。
SADD provider:order:1 "1234"
其中1
是提供者ID,'1234'
是orderId
但是,这会创建很多密钥。每个提供者一个。