0

我正在使用mongojsinnodejs访问mongodb. 我正在尝试根据“SOLUTION_TEST Number”作为 where 条件查找记录。

    db.stories.find({"SOLUTION_TEST Feature" : req.query.data},function(e,docs){
        console.log(docs);
        if(docs[0]){
            res.end(docs[0]);
        }
        else{
            res.end();
        }    
    });

根据mongojs,我必须将字符串传递到 where 子句中。我传递 req.query.data 的地方,它是字符串。但我想通过一个,number因为该字段类型是一个数字。从外壳我能够成功拨打电话。

我如何将值作为数字传递以便 mongodb 理解?

故事数据库中的条目: 在此处输入图像描述

4

1 回答 1

1

你只需要解析req.query.data成一个数字;你可以使用parseInt它。但是您还需要先转换docs[0]为字符串,然后再将其传递给res.end

db.stories.find({"SOLUTION_TEST Feature" : parseInt(req.query.data, 10)},function(e,docs){
    console.log(docs);
    if(docs[0]){
        res.end(JSON.stringify(docs[0]));
    }
    else{
        res.end();
    }    
});
于 2014-02-01T18:02:41.930 回答