我現在正在嘗試將過濾器應用于我的聚合搜索。目前,我無法將值設定$in:為包含所有內容。
if (gameType.length === 0) {
query = {
gameCode: {
$in: gameCode,
},
};
} else {
query = {
gameType: {
$in: gameType,
},
gameCode: {
$in: gameCode,
},
};
}
上面的代碼是我所擁有的。用戶可以選擇多個gameType。因為,我不知道如何設定$in包括一切,我已經使用了if statement排除gameType從查詢時,用戶沒有選擇任何回傳所有的= gameType。
gameType除了為陣列提供所有值之外,有什么方法可以設定一個變數來搜索每個變數(如果我無法做到這一點,我可能會這樣做)?
uj5u.com熱心網友回復:
如果您有許多不同的過濾器選項,則可以動態構建查詢:
const query: FilterQuery<Game> = {};
if (gameType.length) {
query.gameType = {$in: gameType};
}
if (gameCode.length) {
query.gameCode = {$in: gameCode};
}
// ...
如果您有更多條件,您可以添加更多 if 陳述句。請記住,所有條件都是 AND 運算的,即所有條件都必須為真。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/393899.html
標籤:猫鼬
