[英]How to set default value with $elemMatch in Mongoose and Nddejs
我有一條路線,假設根據 3 個輸入過濾我的文件 - 並且有效。
app.get("/api/getFiles", (req, res) => {
let grade = req.query.grade;
let study = req.query.study;
let subject = req.query.subject;
User.find(
{ files: { $elemMatch: { study: study, subject: subject, grade: grade } } },
(err, doc) => {
if (err) res.status(400).send(err);
res.send(doc);
}
);
});
然而,這些輸入並不相互依賴。
EG if grade = 5
函數應該返回匹配特定成績的文件,而不管他們的study
或subject
。
$elemMatch
中是否有任何默認值,在這種情況下,無論其study
或subject
如何,都可以獲得所有文件?
$elemMatch 沒有默認值,您只需在代碼中編寫自定義條件
app.get("/api/getFiles", (req, res) => {
let grade = req.query.grade;
let study = req.query.study;
let subject = req.query.subject;
if grade == 5:{
User.find(
{ files: { $elemMatch: {grade: 5 } } },
(err, doc) => {
if (err) res.status(400).send(err);
res.send(doc);
}
);}
else: {
User.find(
{ files: { $elemMatch: { study: study, subject: subject, grade: grade } } },
(err, doc) => {
if (err) res.status(400).send(err);
res.send(doc);
}
);}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.