0
MongoDB 출력을 사용하여 필터링하고 싶은 컬렉션이 있습니다. 내 문제는 각 요청에 대해 필터링에 사용할 수없는 약속이 보류 중입니다. 계속 진행하기 전에 모든 보류중인 약속을 해결하는 방법?mongodb 쿼리를 기반으로하는 필터 모음
내 현재의 접근법은 항목을 필터링 한 다음 공통 키에 의해 두 모음 (접근법 here 설명) 병합 값 키 MongoDB의 출력 (접근법 here을 기재)로서 입력 된 컬렉션을 생성 lodash를 사용하는 경우에는 새로운 분야 댓글이 비어 있습니다. 현재 Mongodb 요청 중에 약속이 보류 중이기 때문에 작동하지 않습니다.
도움 주셔서 감사합니다.
참고 : 연결, 스키마 및 모델이 이미 제대로 작동
import _ from 'lodash'
import Mongoose from 'mongoose';
Mongoose.Promise = global.Promise;
var input = [{'id':'1', 'text':'a'},{'id':'2', 'text':'b'},...]
var ids = _.map(input,'id')
var filtering = _.zipObject(ids, _.map(ids, function(id) {
var query = Model.find({ id: id }).select({ comment: 1 });
query.exec();
return query
}));
// output is currently [{'id':'1','comment':Promise { <pending> },},{'id':'2','comment':Promise { <pending> },},...]
// output should be [{'id':'1','comment':'blabla',},{'id':'2','comment':'',},...]
var output= _({}).merge(_(input).groupBy("id").value(),_(filtering).groupBy("id").value())
.values()
.flatten()
.value();
output = _.filter(output, 'comment')