我正在用流星和JavaScript構建一個webapp,並且想要根據屬性過濾JSON對象。我可以運行fullList.find()
以獲取所有內容,並且fullList.find({'Color': 'r'})
僅獲取「紅色」項目,但是我想返回所有「紅色」或「藍色」項目,但無法找出正確的語法。我嘗試過各種組合,例如fullList.find({'Color': 'r' || 'b'})
和fullList.find({'Color': ('r' || 'b')})
,但它不是完全運行,就是返回只有一個屬性的項目,而不是返回項目。我覺得這應該是一個簡單的解決方案,我只是不太熟悉JavaScript。。MongoDB中的.find()有多個條件
這是我的(相關)完整性代碼。僅在以下兩個條件爲真(與一個或三個)的邏輯失敗:
indicadores: function(){
if (Session.get("displayUrgencies")){
if (Session.get("displayInsuff")){
if (Session.get("displayStrengths")){
console.log("display all");
return fullList.find();
}
else {
console.log("display urgencies and insufficiencies");
return fullList.find({'Color': 'v' || 'r'});
}
}
else {
if (Session.get("displayStrengths")){
console.log("display urgencies and strengths");
return fullList.find({'Color': 'b' || 'r'});
}
else {
console.log("display urgencies");
return fullList.find({'Color': 'r'});
}
}
}
else if (Session.get("displayInsuff")){
if (Session.get("displayStrengths")){
console.log("display insufficiencies and strengths");
return fullList.find({'Color': 'v' || 'b'});
}
else {
console.log("display insufficiencies");
return fullList.find({'Color': 'v'});
}
}
else if (Session.get("displayStrengths")){
console.log("display strengths");
return fullList.find({'Color': 'b'});
}
else {
console.log("display all (default)");
return fullList.find();
}
},
正如您目前所擁有的那樣,第二次返回從不運行。它在第一個返回中評估語句,然後返回,停止執行。 –
這是偶然從我身上試圖想到的任何事情;如果沒有第二次回報,它仍然不起作用。我將編輯代碼以反映它現在的實際情況;對此感到抱歉 –
你使用'.find'的庫是什麼? –