Я использую Graphql с MongoDB. Использовал подзапрос в resolver, но при выполнении основного запроса подзапроса возвращаемые данные не дожидались завершения подзапроса. Я хочу обработать основной запрос, используя параметры подзапросов в resolver.
return await Articles.find({ Status: 1, isPublish : true })
.sort({TotalClapCount:-1})
.sort({ViewCount:-1})
.skip( offset )
.limit(limit)
.then( async ( lor ) => { await
lor.forEach(async function(data, key){
data["isBookmark"] =
await ArticleBookmarks
.find({ ArticleID : data["ID"], UserID : ArgsUserID, Status : 1 })
.countDocuments()
.then( (hre) =>{return (hre == 1) ? true : false; });
);
});
return lor;
});
Я хочу отобразить список статей с закладкой в одном запросе, но return lor выполняется до того, какоперация подзапроса. Как async-await работает для этого?