루프에서 수행된 데이터베이스 쿼리에서 검색된 결과를 반환할 때 발생하는 문제
이 쿼리의 목표는 한 번에 여러 MongoDB 쿼리를 만드는 것입니다. 결합된 결과를 루프하고 단일 데이터 배열로 보냅니다. 그러나 루프 내에서 return을 사용하면 데이터베이스 요청이 완료될 때까지 기다리지 않으므로 정의되지 않은 응답이 발생합니다. Q.moulde를 사용해도 문제가 해결되지 않습니다.
수정코드:
var getPrayerInCat = function(data){ var promises = data.map(function(data2){ var id = data2.id; return Q.nbind(Prayer.find, Prayer)({prayerCat:id}) .then(function(prayer) { if(!prayer) data2.prayersCount = 0; else data2.prayersCount = prayer.length; return data2; }) }); return Q.all(promises); }
설명:
위 내용은 MongoDB 및 Q 약속을 사용하여 루프에서 결과를 반환하기 전에 데이터베이스 쿼리가 완료되었는지 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!