【问题标题】:React Mongo select a specific fieldReact Mongo 选择特定字段
【发布时间】:2021-10-26 09:32:47
【问题描述】:

我正在创建一个 react 应用程序,并将我的后端 mongo 连接到我想存储我所有汽车品牌、年份、型号等的地方。在 react 中,我使用了 select 标签,在那里我得到了数据库中的所有内容. DB running。然而,每当我按下一个特定的汽车品牌并尝试用另一个选择标签选择年份时,它就会向我显示所有其他汽车品牌的年份。我该怎么做才能只显示该特定汽车品牌的年份? Should only show 2012.

我的get函数

carRoutes.route('/').get(function(req, res) {
    Car.find(function(err, car) {
        if(err) {
            console.log(err);
        } else{
            res.json(car);
        }
    }).collation().sort({car_description:1});
}); 

我的架构

let Car = new Schema({
    car_description: {
        type: String
    },
    car_year:{
        type: String
    }
});

【问题讨论】:

  • Car.find() 会发回一切。您需要传递一个查询对象Car.find({ car_year : 2012 })
  • 但这只会显示 2012 年的汽车品牌。我只希望它在我通过选择标签选择特定汽车品牌时进行过滤。因此,例如,如果在我的数据库中我有 Audi(2014)、BMW(2012)、Aud(2018)、Mercedes(2020),并且我在我的选择标签中按 Audi,我只会得到 2014、2018 年
  • 能否请您链接到示例数据,以便我们更清楚地理解这一点
  • 这能回答你的问题吗? Mongoose, Select a specific field with find
  • 选择具有不同年份的奥迪:find({car_description: 'Audi'}).distinct('car_year'); 您将获得奥迪年份列表。

标签: javascript reactjs mongodb mongoose


【解决方案1】:

尝试这样的事情(假设 car_description 表示名称):

Car.find({car_description: 'Audi'}).select('car_year -_id'); 
// you can replace 'Audi' with a variable which is assigned with the selected car name

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-15
    • 2013-08-08
    • 1970-01-01
    • 2017-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多