-1
我試圖建立一個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
那麼我想去找的interests
屬於用戶(userId
)的陣列。
每個帖子都有一個類別數組:query.categories
。
一旦我找回interests
陣列,我想查找query.categories
,以篩選出用戶感興趣的帖子myInterests
。
現在,我的測試顯示這只是被忽略。它將帶回所有帖子。我在這裏做錯了什麼?
謝謝
User.findById是異步的。該函數在執行User.findById查詢之前返回。 嘗試承諾或回調。 – davibq
雖然如果我把它放在then語句中,它的控制檯日誌記錄'user.interests'? – bloppit