자린이 JS로 DB에서 간단히 쿼리하는걸 하고 있는데 잘 모르겠슴미다.

2시간 동안 햇는데 못하겠슴미다.



1. 환경
노드 v12.16.1 사용중


2. 의도한 결과
retrieveUserEmail()에 UUID를 넘기면 이메일이 반환됩니다. (작동함)
retrieveDevices()에 이메일을 넘기면 2컬럼 * n로우가 반환됩니다. (작동함)

retrieveUserEmail()로 받아온 이메일을 retrieveDevices()의 인자로 넘기고 싶습니다. (작동 안함)


3. 작동한 결과

빈 배열이 반환됩니다.



4. 코드

DB 테이블은

1. 유저 테이블

    이메일:uuid

2. 장치 테이블

    이름:uuid:이메일

로 구성했슴미다.


소스코드는 다음과 같습니다.


function retrieveUserEmail(token) { return knex('USER_INFO') .select('user_email') .where('token', token) .limit(10) } function retrieveDevices(email) { return knex('DEVICE_INFO') .select('device_name', 'device_uuid') .where('owner', email) } // retrieveUserID('a2eb601a54c11b54601d7be7852b2608') // 정상 동작, 'test@spam4.me'반환 // .then(res => console.log(res)) // retrieveDevices('test@spam4.me') // 정상 동작 // .then(res => console.log(res)) retrieveUserID('a2eb601a54c11b54601d7be7852b2608') // 빈 배열 출력 ??????????? .then(res => retrieveDevices(res)) .then(res => console.log(res)) .catch(err => console.error(err));


`retrieveUserEmail()`한 결과 res를 찍으면 잘 나오는데 왜 그 결과를 `retrieveDevices()`로 넘기면 빈 배열이 나오는거죠? lexcial 뭐시긴줄 알고 봤는데 그것도 아닌거 같은데...