2015-12-02 75 views
2

我在传递objectId作为URL参数时遇到了很多麻烦。我知道MongoDB中的ObjectId是一个十六进制值,我需要做一些转换,但是我使用每种方法都会收到错误。在URL中传递Mongo ObjectId并使用Node/Express查询该ID

目前,我得到的错误状态,“传入的参数必须是一个12字节的字符串或24个十六进制字符的字符串。”

var mongo = require('mongodb').MongoClient; 
var ObjectID = require('mongodb').ObjectID; 


app.get('/characters/:id', function (req, res) { 
    console.log(req.params.id); 
    var collection = db.collection('Character'); 
    _id = new ObjectID(req.params.id); 
}); 

我传递的要求是:

address/characters/:565dffa7463e4c60b1166f43 

感谢有这方面的帮助。

+2

请注意冒号。尝试你的代码而不通过它。 –

+0

哇,谢谢。现在我想到了这一点完全有意义。今晚我回到家时,我会试试这个。 – Victor

回答

1

请求应该是: 地址/文字/ 565dffa7463e4c60b1166f43

则req.params.id变得565dffa7463e4c60b1166f43。

相关问题