私は私の社会的なポスト飼料用buildQuery
機能を構築しようとしている:この約束の結果をどのように使用できますか?
const buildQuery = (criteria) => {
const { userId, interest } = criteria;
const query = {};
if (interest !== 'everything') {
if (interest === 'myInterests') {
User.findById(userId).then(user => {
return query.categories = {
$in: user.interests
};
});
} else {
query.categories = { $eq: interest };
}
}
return query;
};
interest
がmyInterests
として伝わってくるなら、私は、ユーザー(userId
)に属するinterests
の配列を見つけに行きたいです。
各投稿のカテゴリは、query.categories
です。
interests
アレイが戻ったら、query.categories
を検索して、ユーザーがmyInterests
に興味のある投稿に絞り込む必要があります。
今、私のテストではこれが単に無視されていることが示されています。すべての投稿を戻しています。私はここで間違って何をしていますか?
はありがとう
User.findByIdが非同期です。この関数は、User.findByIdクエリが実行される前に戻ります。 約束またはコールバックを試してください。 – davibq
私はそれをthenステートメントに入れてもコンソールのログは 'user.interests'ですか? – bloppit