首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从Mongoose Node中退休对象

无法从Mongoose Node中退休对象
EN

Stack Overflow用户
提问于 2015-09-25 03:43:08
回答 1查看 28关注 0票数 0

我有一个Mongodb数据库,它的恢复对象如下所示。我使用的是节点快递服务器。我正在查询mongo数据库,以获得基于特定技能的对象。例如:如果我查询技能: jquery,则只返回具有此技能的对象。问题在于从数据库返回对象的get函数。

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

代码语言:javascript
复制
Resume.find({skills.jQuery : 2},function(err, results){...}

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

但是,如果我动态地插入它(skillSet),那么它就不能工作。Iit检查了skillSet的值,它给了我我所期望的(‘skills.JQuery’)

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

下面是代码片段:

代码语言:javascript
复制
{
    "_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)});
        }
    });
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-25 07:12:49

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

代码语言:javascript
复制
var query = {};
query['skills.' + req.params.skill] = 2;
Resume.find(query,function(err, results){
    // Do something with the callback
};

编辑

如果您想获得大于或等于1的所有数字,则需要$gte。这是文档。这是更新的查询:

代码语言:javascript
复制
var query = {};
query['skills.' + req.params.skill] = {$gte: 1};
Resume.find(query,function(err, results){
    // Do something with the callback
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32774426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档