express - 使用特定参数获取带有猫鼬的图片
问题描述
嗨,感谢所有愿意并准备帮助我的人!
我有一个像这样的猫鼬模型:
const pictureSchema = mongoose.Schema ({
pictureName : String,
creator : String,
description : String,
img : String,
createdAt : {
type : Date,
default : new Date(),
},
themeLinked : String
})
现在我要做的是获取所有对“themeLinked”具有特定值的文档。这就像对我的文档中具有相同“themeLinked”的所有条目进行排序。
所以我做了什么,从我的前端反应应用程序,我发送了作为 req.param 链接的主题的值。所以它通过 GET 请求发送到我的后端。
在我的后端,在控制器中我写了这段代码:
const fetchPictures = async (req,res) => {
const {themeId} = req.params;
try {
const pictures = await pictureModel.findOne({themeLinked : themeId});
res.status(200).json(pictures)
} catch (err) {
res.status(404).json({ message : err})
}
}
在我的 chrome 浏览器的网络选项卡中,我得到“null”作为响应的值。
所以作为一个初学者,我正在努力寻找正确的方法来获取所有具有相同“themeLinked”值的图片......这一定很简单,但我很挣扎
谢谢 !!
解决方案
好的,我知道了,我需要做的就是:
const fetchPictures = async (req,res) => {
const {themeId} = req.params;
try {
const pictures = await pictureModel.find({themeLinked : themeId});
res.status(200).json(pictures)
} catch (err) {
res.status(404).json({ message : err})
}
}
出于明显的词法原因,findOne 只返回一个条目,因为 find 返回具有相同匹配 'themeLinked' 值的所有条目......:)
推荐阅读
- javascript - 如何添加跨域资源共享请求标头?
- java - 如何使用 IntelliJ IDE 在 Spring Boot-Angular 项目中在运行时更新资源
- latex - 如何在 Rmd 中使用 Latex'\newcommand?
- php - 在 codeigniter 中使用多个应用程序登录用户
- ios - 如何将自定义字体设置为 UIAlertAction?
- android - 适用于 Android 的真正来电者搜索 API
- javascript - AngularJS - 为什么我的工厂不更新 DOM?
- ios - Xcode 10 不支持 Subversion **[SVN]**
- javascript - 在javascript中创建多个过滤器选择器
- c# - AutoFac 请求范围不是整个请求