使用mongoose通过ID搜索对象时出错

时间:2015-12-08 11:25:01

标签: node.js mongodb express mongoose

我正在尝试通过id搜索对象但是我收到以下错误:CastError:对于路径“_id”的值“[object Object]”,Cast to ObjectId失败

这是我的代码:

var orgID = new mongoose.Types.ObjectId( org_id.organisation_id  ); //org_id.organisation_id is a string value for the object I'm trying to find below

Organisation.findById({
                orgID
            }, function (err, org) {

                if (!err) {
                    console.log("Org data: "+org);
                }
                else {
                    console.log("The following error occurred: "+err);
                }


            });

的console.log(org_id.organisation_id);

给了我:5661639afef20a5cc806d476

1 个答案:

答案 0 :(得分:2)

您的findById查询看起来不对。正确的格式是:

Organisation.findById(orgID, function(err,org)

无需将参数作为json传递。第一个参数需要ObjectId,但是您正在将Object传递给函数。