gpt4 book ai didi

javascript - 无法从 Mongoose-Node 检索对象

转载 作者:行者123 更新时间:2023-12-03 08:48:35 24 4
gpt4 key购买 nike

我有一个 Mongodb 数据库,其中包含如下所示的简历对象。我正在使用 Node express 服务器。我正在查询 mongo 数据库以获取基于特定技能的对象。例如:如果我查询技能:jquery,则仅返回具有该技能的对象。问题在于从数据库返回对象的 get 函数。

在突出显示的代码中:如果我直接插入对象,例如:

Resume.find({skills.jQuery : 2},function(err, results){...}

然后我得到了预期的结果。

但是,如果我动态插入它(技能集),那么它就不起作用。我检查了 SkillSet 的值,它给出了我所期望的('skills.JQuery')

var skillSet = ("'"+'skills.' + req.params.skill +"'");
console.log('skillSet',skillSet) //'skills.jQuery'
Resume.find({skillSet : 2},function(err, results){

下面是代码片段:

{
"_id" : ObjectId("56031b4353b32084651173fb"),
"uuid" : "acd06792-87c3-4b0e-827a-8bd19d7f9c03",
"creationDate" : ISODate("2015-09-23T21:36:03.728Z"),
"status" : "3",
"name" : "resume_dev",
"__v" : 0,
"skills" : {
"node" : 2,
"react" : 2,
"React" : 3,
"JQUERY" : 2,
"JavaScript" : 15,
"JQuery" : 5,
"Backbone" : 3,
"Node" : 2,
"Angular" : 4,
"Javascript" : 2,
"jQuery" : 17,
"javascript" : 3
}
}

router.get('/skills/:skill', function(req, res){
console.log("req.params.skill",req.params.skill);
var skillSet = ("'"+'skills.' + req.params.skill +"'");
console.log('skillSet',skillSet) //skills.react
Resume.find({skillSet : 2},function(err, results){
console.log('hi');
console.log(skillSet)
console.log(results);
if (err) {
res.status(500).json(err);
}
else {
// console.log("====>",results);
res.status(200).json(results);
// res.render('status',{Resume: JSON.stringify(results)});
}
});
});

最佳答案

当我正确理解你的问题时,你可以这样做:

var query = {};
query['skills.' + req.params.skill] = 2;
Resume.find(query,function(err, results){
// Do something with the callback
};

编辑:

如果你想得到所有大于或等于1的数字,你将需要$gte。这是docs 。这是更新后的查询:

var query = {};
query['skills.' + req.params.skill] = {$gte: 1};
Resume.find(query,function(err, results){
// Do something with the callback
};

关于javascript - 无法从 Mongoose-Node 检索对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32774426/

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