我想传递对象值来查找查询,它正确记录但没有传递空我不明白原因,如何解决这个问题

问题描述 投票:0回答:1
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" });
    }
}














`

enter image description here

大家好,这是我一直坚持的代码块,好的,目标是我想根据输入创建一个过滤器,查询将返回匹配数据,问题是这个扇区正确记录,但不传递查找查询,这就是为什么它返回所有数据。我想要过滤数据,我想一次查询所有字段,任何人都可以帮助我升级代码,另一注意许多数据字段值都是空字符串。

javascript reactjs node.js mongodb-query
1个回答
-1
投票

请发送项目或模块的更多信息“../FilterSchema/filterschema.js”;

问候,

© www.soinside.com 2019 - 2024. All rights reserved.