import mongoose from "mongoose";
const newSchema= new mongoose.Schema({
end_year: String,
intensity: Number,
sector: String,
topic : String,
insight : String,
url : String,
region: String,
start_year : String,
impact :String,
added : String,
published : String,
country :String,
relevance : Number,
pestle:String,
source : String,
title : String,
likelihood : Number
})
const item = mongoose.model("item",newSchema)
export default item;
import item from "../FilterSchema/filterschema.js";
export const AddFilter = (req, res) => {
let filter_body = req.body;
console.log("Filter conditions:", filter_body);
findData(filter_body,res)
}
export const findData = async (filter_body, res) => {
try {
const query = {};
if (filter_body.topic) {
query.topic = filter_body.topic;
}
if (filter_body.end_year) {
query.end_year = filter_body.end_year;
}
if (filter_body.sector) {
query.sector = filter_body.sector;
}
if (filter_body.region) {
query.region = filter_body.region;
}
if (filter_body.pestle) {
query.pestle = filter_body.pestle;
}
if (filter_body.source) {
query.source = filter_body.source;
}
if (filter_body.country) {
query.country = filter_body.country;
}
if (filter_body.insight) {
query.insight = filter_body.insight;
}
console.log(query.topic);
const Items = await item.find(query);
res.status(200).json(Items);
console.log(query);
} catch (error) {
console.log("There is a problem at findData", error);
res.status(500).json({ error: "Internal Server Error" });
}
}
`
大家好,这是我一直坚持的代码块,好的,目标是我想根据输入创建一个过滤器,查询将返回匹配数据,问题是这个扇区正确记录,但不传递查找查询,这就是为什么它返回所有数据。我想要过滤数据,我想一次查询所有字段,任何人都可以帮助我升级代码,另一注意许多数据字段值都是空字符串。
请发送项目或模块的更多信息“../FilterSchema/filterschema.js”;
问候,