Как заставить работать .then внутри Promise ? Второй find по tags уже не срабатывает потому что не готов searchArr...
articleSchema.statics.list = function ({tag, sort, limit, skip}) {
return new Promise(function (resolve, reject) {
const Tag = mongoose.model('Tag');
let searchArr = [];
Tag.find({label: tag}, {label: false, updatedAt: false, createdAt: false, articleId: false, __v: false}).exec()
.then((findTags) => {
findTags.map((item, index) => {
searchArr.push(String(item._id));
});
return searchArr;
})
.then((searchArr) => {
return this
.find({
'tags': {
$in: searchArr
}
})
.sort('-' + sort)
.skip(parseInt(skip))
.limit(parseInt(limit))
.populate('tags')
.exec()
.then((Articles) => {
resolve(Articles);
console.log('Articles');
console.log(Articles);
})
//.catch(e => next(e));
})
//.catch(e => next(e));
//resolve(Articles);
});
};