2
기본 키 목록이있는 SQL 데이터베이스에서 데이터를 가져옵니다. 반환 된 데이터가 항상 동일한 순서로있는 것은 아니며 원래 배열 인덱스를 유지하기 위해 데이터를 다시 정렬해야합니다. 예를 들어미리 정의 된 배열에 따라 배열 (결과 집합) 정렬
:
var ids = [2, 12, 5, 3, 10];
var query = 'SELECT * FROM tbl_foo WHERE id IN (' + ids.join(',') + ')';
db.query(query, null, function (result) {
console.log(result.rows);
// [ { id: 2, ... },
// { id: 3, ... },
// { id: 5, ... },
// { id: 10, ... },
// { id: 12, ... } ]
});
참고는 다음 SQL 인젝션 경고를 신경 쓸, 이것은 일례이고; 키스.
어떻게 그 순서를 유지하겠습니까, 또는 효율적으로 주어진 원래의 결과 집합을 주문할 것이라고?
감사합니다.
와우 문자열 건물 엉망으로하지 않아도 자바 스크립트 사용
String.replace()
에서ids
배열을 전달합니다! 나는 그런 정교한 SQL 쿼리를 기대하지 않았다! 나는 그것을 시도해 보겠습니다. –@Yanick은 단순화 된 실제 자바 스크립트 코드로 업데이트되었습니다. –