{ let grade = req.query.grade-6ren">
gpt4 book ai didi

node.js - 如何在 Mongoose 和 Nodejs 中使用 $elemMatch 设置默认值

转载 作者:太空宇宙 更新时间:2023-11-04 00:05:04 26 4
gpt4 key购买 nike

我的路由应该根据 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);
}
);
});

但是,这些输入并不相互依赖。

例如,if grade = 5 函数应返回与特定成绩匹配的文件,无论其学习主题如何。

$elemMatch 中是否有默认值,在这种情况下,无论其 studysubject 如何,都会获取所有文件?

最佳答案

$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);
}
);}
});

关于node.js - 如何在 Mongoose 和 Nodejs 中使用 $elemMatch 设置默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52709830/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com