일부 코드를 리팩토링하려고합니다. 이와 같이, (아무것도 포함하지 않음)의 서브 필드를 임의로 설정할 수있을 수여러 배열 필드를 매개 변수로 사용합니다.
this.users[user][field] = data ;
하는 것으로 : 모든 코드베이스 함께이 같은 사용자 관련 정보를 저장하는 코드를
this.users[user][field][subfield1][subfield2] = data ;
이러한 정보는 다음과 같이 검색됩니다.
var result = this.users[user][field] ;
실제 데이터는 Redis에 저장됩니다. 이것을 준비하려면 두 가지 기능, 즉 function storeUserData(user, fields, data)
및 function retrieveUserData(user, field)
에 대한 액세스를 리팩토링하고 싶습니다.
필드가 하나만 있으면 쉽게 할 수 있습니다. 하지만 임의의 수의 하위 필드를 허용하는 두 가지 기능을 작성하려면 어떻게해야합니까?
편집 : 장기 목표는 redis 키와 node.js 배열의 차이를 흐리게하는 것입니다. 그런 식으로 예를 들어 노드 서브 필드에 액세스 할 수 있습니다 : 'users.user.id'
또한이 같은 redis 있음 : users.user.*.id
. 그것은 가능한 것 같습니까?